一个 MySQL 查询问题
当group by
进行分组之后,每组默认显示第一条,此时根据查询的结果来看,每个分组对应一条数据,实际上每个分组下有多条数据,此时用count
查询数量时,就会按所有数据查询,而不是按分组后(每个分组对应一数据)来查询数量。请问这种情况如何写能查询到我想要的数量.
提供下两个菜鸡方案吧 (有好的方案请提出,本人是菜鸡)
①非SQL:查询后,用其他语言来计算总数量,php的话用count
②SQL: select count(*) from ( 这里写你分组的那个sql语句 ) a (超级多表的时候不建议使用,会很慢)
select s,name from talbe ,(select count(*) s,name from table group by name ) tmp where table.name=tmp.name;