gpt4 book ai didi

sql - "Adding"GROUP BY 's and ORDER BY' 在一个查询中而不是单独的

转载 作者:行者123 更新时间:2023-12-05 01:49:46 25 4
gpt4 key购买 nike

我有一个有一些变体的基本查询,它们在 GROUP BYORDER BY 子句中都彼此不同。

这些是变化:

SELECT SUM(col_a) AS "col_a", SUM(col_b), AS "col_b", SUM(col_c) as "col_c"
FROM my_table
GROUP BY col_a

SELECT SUM(col_a) AS "col_a", SUM(col_b), AS "col_b", SUM(col_c) as "col_c"
FROM my_table
GROUP BY col_a, col_b
ORDER BY col_a

SELECT SUM(col_a) AS "col_a", SUM(col_b), AS "col_b", SUM(col_c) as "col_c"
FROM my_table
GROUP BY col_a, col_b, col_c
ORDER BY col_a, col_b

是否可以在同一个查询中执行此操作?或者我应该获取基础数据并将其在服务器端/客户端求和?

最佳答案

在MySQL(这是最初的问题)中,您可以使用WITH ROLLUP在同一查询中执行此操作:

select sum(col_a) as col_a, sum(col_b) as col_b, sum(col_c) as col_c, count(*),
case (col_a is not null) + (col_b is not null) + (col_c is not null) when 3 then 'col_a,col_b,col_c' when 2 then 'col_a,col_b' when 1 then 'col_a' end grouped_by
from my_table
group by col_a, col_b, col_c with rollup
having grouped_by is not null
order by grouped_by,col_a, col_b, col_c

fiddle

关于sql - "Adding"GROUP BY 's and ORDER BY' 在一个查询中而不是单独的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73719894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com