我在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中使用吗?
答案 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