2015-04-03 83 views
0

为了让这个例子变得简单,让我们假装我的表具有以下属性。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 

直截了当,它选择放量的唯一记录的基础。但是,我怎么也包括我的查询,以便它计数许多ID是如何使用带有558填充NameID

数量以输出应该是

Amount 1, Used 1 
Amount 2, Used 2 
+0

你的问题与子查询有什么关系? – Barmar 2015-04-03 03:01:38

回答

1

这是一个聚集查询。你想要group bycount()

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

谢谢先生!帮助很多 – 2015-04-03 03:05:50