为了简化这个例子,让我们假装我的表具有以下属性。
表
ID: Int
Amount: Int
nameId: Int
记录前
ID: 1
Amount: 2
nameId: 3
ID: 2
Amount: 2
nameId: 3
ID: 3
Amount: 1
nameId: 3
目前我有以下查询。
SELECT DISTINCT(amount) FROM server.`inventory` where nameid = 558
它给了我
Amount 1
Amount 2
直接向前,它根据金额选择唯一的记录。但是,我如何在查询中包含以便计算使用nameid 558使用该数量的id的数量
所以输出应该是
Amount 1, Used 1
Amount 2, Used 2
答案 0 :(得分:1)
这是一个聚合查询。您想要group by
和count()
:
SELECT amount, COUNT(*)
FROM server.inventory
WHERE nameid = 558
GROUP BY amount;