我有一个字段需要求和,比如说命名项目 但是,该字段可以是组 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]
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top