我在 MySQL 中有一个这样的表
1. ID, (int, autoincrement, primary)
2. Date (timestamp)
3. Device (int)
4. Text (text)
对于报告,我想了解每种类型的设备有多少条记录。 例如“设备‘5’= 100 行”。
这可以通过纯 sql 命令来完成,还是我必须通过 php 循环遍历所有类型的设备并为每种类型触发选择总和查询?
我对mysql不熟悉。但我知道,OracleSQL 可以通过插入来做这样的事情。
就像 insert into table (col1,col2) (Select * From table)
就像一个 for-each。
我的想法在mysql中可行吗?
最佳答案
这是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
关于mysql - 选择每项的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24711471/