我试图获取“数量”列的总和,其中“帐户”列的前3个字符是不同的。 这就是我想要达到的目标:
111total 222total 333total
30 10 50
...等
以下是我的数据的示例:
Account Quantity
111000000 12
111000001 15
111000002 3
222000001 5
222000002 5
333000001 10
333000002 20
333000003 20
假设帐户列表有太多不同的值来单独定义每个值,如:
SUM(table.Quantity) as 111total,
SUM(table.Quantity) as 222total,
SUM(table.Quantity) as 333total
等,正确的语法是什么;我在合并后一部分时遇到问题,我必须用我的LEFT定义DISTINCT(Account,3)。我尝试了一些变化,但不知道如何定义第一部分阻碍了我测试后者的能力。
答案 0 :(得分:3)
使用group by子句而不是DISTINCT
SELECT LEFT(Account,3) AccountPrefix, SUM(qty) sumOfQty
FROM myTable
GROUP BY LEFT(Account,3)
答案 1 :(得分:3)
我相信这会给你你想要的东西:
SELECT LEFT(Account,3) as AccountPrefix, SUM(Quantity) AS total
FROM Table
GROUP BY LEFT(Account,3)