好的,假设我有两个表,“TableA”和“TableB”。在表 AI 中有一个列“C”,在表 BI 中有一个列“D”和一个列“E”。
TableA 包含很多行,可以在 C 列中包含相同的值。 TableB 包含很多行,但 D 列必须是唯一的(它是自动增量编号)。TableB 的 E 列也可以在不同的行中包含相同的值。同样,C 列和 D 列将包含相同的数字。
示例表
TableA
ID C
----------
1 1
2 1
3 2
TableB
D E
----------
1 1
2 0
3 0
现在,我想要做的是计算 C 列中 TableA 中的所有行,我已经想出了如何去做。但是,我还希望它只给我一个结果 C 的计数,其中 D 中的等效值也具有“1”的 E。
所以,我试过这个,但它失败了,我想不出我做错了什么或如何解决它。谷歌搜索 COUNT 只会让我得到处理一张桌子的结果。
在我的示例中,我希望它计数 C 其中与 TableB 列 D 中 E = 1 匹配的 ID 号(因此,TableB 列 D = 1),并将其作为计数返回,所以我希望它返回给我(或类似的东西):
c COUNT(*) 降序 1 2
SELECT TableA.C, COUNT(*) FROM TableA, TableB WHERE TableB.E = 1 GROUP BY TableA.C ORDER BY COUNT(*) DESC
如果那有意义的话...