我有这个表格布局:
uuid bigint(20) unsigned primary auto_increment
timestamp int(11) unsigned
name varchar(255)
type enum('A','B')
subtype varchar(255)
我被困在查询中,我当前使用的是:
SELECT name, COUNT(*) as count FROM table GROUP BY name
此后,我为每个“名称”运行一个循环,以获取类型“B”的条目数量,然后再次为每个子类型运行循环。但这最终会产生大约 500k 查询,这太多了,必须有一种更简单的方法来做到这一点,但我对这个数据库东西真的很陌生......
最佳答案
您可以在GROUP BY
中使用多个值。
SELECT name, type, subtype, COUNT(*) as count FROM table GROUP BY name, type, subtype
结果对于数据库中的每个名称、类型、子类型组合包含一行以及相应的条目数。
关于mysql - 如何优化 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9870944/