我需要一个查询,它使用count(*)函数返回参与group by子句的记录。 例如,我有一个名为
的书籍的表格======================
ID | NAME | AUTHER
======================
2 | Abc | John
6 | Abc | John
3 | Xyz | Mike
4 | Abc | Mike
5 | Xyz | John
1 | Abc | Mike
7 | PQR | Raj
为此,如果我写一个像
这样的查询select count(*),name,auther from books group by(name,auther);
然后它返回像
这样的记录========================
COUNT(*)| NAME |AUTHER
========================
1 | Xyz | Mike
1 | PQR | Raj
2 | Abc | John
1 | Xyz | John
2 | Abc | Mike
现在我想知道同一组中的书籍的ID。 例如,在最后的结果记录中有两本书,那么它们的ID是什么?
答案 0 :(得分:2)
使用GROUP_CONCAT()获取以逗号分隔的ID列表
select count(*),name, auther, group_concat(id) ids
from books
group by name, auther;