假设我有一张table:
| 第1列|第2列|第3列|
| - ------|- ------|- ------|
| R1|C1|五个|
| R2|C3|八个|
| R1|C1|第二章|
| R1|C2|四个|
| R2|C5|三个|
| R2|C2|四个|
我需要:
Col2
的相同值与Col3
的对应Col1
和SUM
的计数。
1.分组结果的总和和计数。
为了实现#1,我的代码如下所示:
SELECT Col1, Col2, COUNT(*), SUM(Col3)
FROM myTable
GROUP BY Col1, Col2
我得到的结果(这是确定的):
| 第1列|第2列|计数|总计|
| - ------|- ------|- ------|- ------|
| R1|C1|第二章|七|
| R1|C2|1个|四个|
| R2|C2|1个|四个|
| R2|C3|1个|八个|
| R2|C5|1个|三个|
Demo
对于#2,我需要知道列Count
的值的SUM
和列SUM
的值的SUM
,其中列Col1
的值是相等的。我如何升级我的代码呢?期望的结果可能是这样的:
| 第1列|第2列|计数|总计|
| - ------|- ------|- ------|- ------|
| R1|C1|第二章|七|
| R1|C2|1个|四个|
| | | 三个|十一|
| R2|C2|1个|四个|
| R2|C3|1个|八个|
| R2|C5|1个|三个|
| | | 三个|十五|
1条答案
按热度按时间kg7wmglp1#
通过使用
UNION ALL
操作将仅聚合到"* Col1 *"值的记录添加到初始结果集,可以模拟汇总记录。输出:
| 第1列|第2列|碳纳米管|总计|
| - ------|- ------|- ------|- ------|
| R1|C1|第二章|七|
| R1|C2|1个|四个|
| R1|零|三个|十一|
| R2|C2|1个|四个|
| R2|C3|1个|八个|
| R2|C5|1个|三个|
| R2|零|三个|十五|
检查here演示。