MySQL子查询问题

时间:2015-04-03 02:57:01

标签: mysql

为了简化这个例子,让我们假装我的表具有以下属性。

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

1 个答案:

答案 0 :(得分:1)

这是一个聚合查询。您想要group bycount()

SELECT amount, COUNT(*)
FROM server.inventory 
WHERE nameid = 558
GROUP BY amount;