如何在group by的结果中保留重复项

时间:2015-02-21 21:25:17

标签: mysql

我已编写此查询以获取每个程序集的最大席位数的记录,但此查询将从结果中删除重复项:

查询:

select * from (select assembly, party_id, count(party_id) as seats from winner
group by assembly, party_id) as subTable group by assembly having max(seats) order by assembly asc;

输出:

enter image description here

但我希望输出如下:

enter image description here

请告诉我该怎么办?

2 个答案:

答案 0 :(得分:0)

我不知道having子句的用途。它只是检查最大值是否不等于0.

您需要按party_id进行分组。我想这就是你想要的:

select assembly, party_id, count(party_id) as seats
from winner
group by assembly, party_id
order by assembly asc;

答案 1 :(得分:0)

如果您想保留重复的程序集,请不要使用GROUP BY assembly,,其功能是删除重复项。

奇怪的问题。