选择每个的总和

时间:2014-07-12 09:14:27

标签: mysql sql select

我在MySQL中有一个这样的表

 1. ID, (int, autoincrement, primary)
 2. Date (timestamp)
 3. Device (int)
 4. Text (text)

对于报告,我想知道每种类型的设备有多少条记录。 喜欢"设备' 5' = 100行"。

这可以通过纯sql命令来完成,还是我必须通过php遍历所有类型的设备并为每种类型激活一个选择总和查询?

我不熟悉mysql。但我知道,OracleSQL可以使用insert做这样的事情。 像insert into table (col1,col2) (Select * From table)就像是一个for-each。

我的想法可以在mysql中使用吗?

4 个答案:

答案 0 :(得分:0)

这是group by子句的经典用例:

SELECT   device, COUNT(*) AS num_per_device
FROM     my_table
GROUP BY device

编辑:
要在评论中回答@sgtBear的后续问题,您可以通过将此查询加入另一个查询来添加设备文本:

SELECT a.device, b.device_text, a.num_per_device
FROM   (SELECT   device, COUNT(*) AS num_per_device
        FROM     my_table
        GROUP BY device) a
JOIN   device_details b ON a.device = b.device

答案 1 :(得分:0)

您可以尝试以下查询:

Select Count(Device) 
FROM Table1
Order By Device
Group By Device

答案 2 :(得分:0)

使用

SELECT Device, COUNT(ID) count_device FROM Table GROUP BY Device

答案 3 :(得分:0)

像这样使用GROUP BY子句

SELECT device, count(device) as total_device
FROM TABLE_NAME
GROUP BY device