题
我有一个字段需要求和,比如说命名项目 但是,该字段可以是组 a 或 b 组的一部分 最后,我需要对 a 组和 b 组的所有项目求和
当我说分组时,我的意思是有一个到另一个表的左外部连接,前一个表有一个项目类型,而正在连接的表有一个为此项目类型分配的组
抱歉,我对 sql 有点陌生,我将尝试一下您给我的内容,然后回复您
好吧,我觉得我们已经接近了,只是还没有阿兰的我可以让他们分开,但问题是我需要让两个组在同一行上求和,这很困难,因为我还涉及几个 LEFT OUTER JOIN
泰勒的看起来也可能有效,所以我正在尝试快速解决这个问题
阿兰的似乎是可行的方法,但我必须再调整一下
解决方案
也许我不明白你所问问题的复杂性,但是......这不应该吗?
SELECT groupname, SUM(value)
FROM items
WHERE groupname IN ('a', 'b')
GROUP BY groupname
如果您不关心该项目属于 a 或 b 中的哪一个,则可以这样做:
SELECT SUM(value)
FROM items
WHERE groupname IN ('a', 'b')
其他提示
你想要类似的东西
SELECT column,SUM( column ) FROM table GROUP BY column
这就是(泰勒的回答)问题的意思吗?或者仅仅是这样?
SELECT sum(item), groupingField FROM someTable GROUP BY groupingField
甚至:
SELECT count(*), item FROM someTable GROUP BY item
这将产生如下结果:
sum(item) | groupingField
-------------+-----------------------
71 | A
82 | B
发问者,也许你可以澄清一下你的意思,或者我是否过于简单化了?
尝试这个:
SELECT B.[Group], COUNT(*) AS GroupCount
FROM Table1 A
LEFT JOIN Table2 B ON B.ItemType=A.ItemType
GROUP BY B.[Group]
不隶属于 StackOverflow