如何在分组依据后进一步对列中的项目进行分组

遗传1989

我有一个名为“DATA”的 SQL 表,如下所示:

id  plan   mode         cost.     purchaseDate
1.  cd3.   ANNUALLY       34.         2020-05-04
2.  fg45.  QUARTERLY      456.        2021-01-02

我试图返回以下 3 列:plan、planCount、totalCostPerPlan

我一直在做一个查询来返回这个,到目前为止它看起来像这样:

SELECT
    plan,
    COUNT(id) as planCount,
    CASE
        WHEN mode = 'ANNUALLY' THEN SUM(cost)
        WHEN mode = 'S/ANNUALLY' THEN SUM(cost * 2)
        WHEN mode = 'QUARTERLY' THEN SUM(cost * 3)
        WHEN mode = 'MONTHLY' THEN SUM(cost * 12)
        ELSE SUM(cost)
    FROM DATA
    WHERE purchaseDate >= *not important*
    GROUP BY plan, mode
    ORDER BY plan ASC

它有点工作,但是,我得到的数据仅部分分组如下:

plan.   planCount.     totalCostPerPlan
cd3.        5              *not important*
cd3.        600            *not important*
cd3.        32             *not important*
fg45.       1              *not important*
fg45.       10             *not important*
h100.       7              *not important*

(表格只是一个例子)

如何按计划进一步分组?我正在尝试获取每个计划的总值,但是,它们显示为每种模式的单独行。请协助。

戈登·利诺夫

嗯。. . 如果您想将因素放入 ,sum()case是 的参数sum()

SELECT plan, COUNT(id) as planCount,
       SUM(CASE WHEN mode = 'ANNUALLY' THEN cost
                WHEN mode = 'S/ANNUALLY' THEN cost * 2
                WHEN mode = 'QUARTERLY' THEN cost * 3
                WHEN mode = 'MONTHLY' THEN cost * 12
                ELSE cost
           END)
FROM DATA
WHERE purchaseDate >= *not important*
GROUP BY plan
ORDER BY plan ASC

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在包含混合数据类型的Pandas DataFrame中对值进行取整以进一步进行数据比较?

在LINQ查询中应用分组依据,进一步连接所需的信息将丢失

Shiny如何动态选择导入的数据集的列以进行进一步分析

如何匹配字符串并进行进一步处理?

如何在循环中反复调用R并检索结果以在SAS中进行进一步处理

使用sed,如何进一步修改分组参考?

反转列表中的字符串,然后进一步反转嵌套列表中的列表

python分组和进一步分组

如何进一步对网站进行抓取?

分组并进一步分组

如何从Matlab的回调函数中获取数据以进行进一步处理?

我如何迭代变量以传递到http标头参数中以进行进一步迭代

KDB + / Q:如何将给定列标量值的行分组为离散的bin,以进行进一步聚合?

如何在python中的列表内的字典中获取值并进一步从中索引值

从html表中获取数据,然后进一步使用它

如何在Windows 10中进一步删除Appbar?

将json列表分组为日期,然后进一步分组为特定字段

如何在超级测试中存储响应主体以用于进一步的测试案例

Codeigniter模型:如何使用查询中的值进行进一步的计算?

在对对象数组进行排序时,是否可以使用 sort() 对已推送到底部的项目进行进一步分组?

在对对象数组进行排序时,是否可以使用 sort() 进一步对已推到顶部的项目进行分组?

检索列表中的最后一个节点以进行进一步处理

如何在 Powershell 中修剪管道对象并在管道下方进一步使用它?

如何根据加速值对一列进行分组并进一步对另一列进行分组并对其进行计数(Pandas Python)

在数据框中,如何仅根据名称选择特定变量以进行进一步计算?

如何在pyspark中按列对数据帧进行分区以进行进一步处理?

在 React 中如何在执行进一步操作之前等待多个文件上传?

在 R 中按用户 ID 分组后,我可以进一步总结变量组合吗?

如何从 API 调用中获取简单数据以在 Golang 中进行进一步评估