查询最大值问题

huwj1986 2009-09-15 04:29:02
mysql里有一张表my_Q,有asid,uid两个字段,分别表示组id,组中成员id,现在要取组成员数最多的组id和组中成员数,表中没有‘组成员数’这个字段,除了用下面语句查询外还有没有其他的方法?
select asid,count(uid) from my_Q group by asid order by count(uid) desc limit 1
...全文
84 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuzhangliang 2009-09-16
  • 打赏
  • 举报
回复
知识来源于实践吗
nianzhang747 2009-09-15
  • 打赏
  • 举报
回复
嗯 知道了 知识要你测试下

发现没有更简单的语句了
wwwwb 2009-09-15
  • 打赏
  • 举报
回复
or
select a.d1,max(a.dd) from (
SELECT d1,count(*) as dd from aa1 group by d1) a
group by a.d1 having max(a.dd)=(select max(dd) from (SELECT d1,count(*) as dd from aa1 group by d1))

在MYSQL中这种要求最好用LIMIT处理
ACMAIN_CHM 2009-09-15
  • 打赏
  • 举报
回复
select *
from (select asid,count(uid) from my_Q group by asid) t
order by 2 desc
limit 1
WWWWA 2009-09-15
  • 打赏
  • 举报
回复
select a.d1,max(a.dd) from (
SELECT d1,count(*) as dd from aa1 group by d1) a
left join
(
SELECT d1,count(*) as dd from aa1 group by d1) b
on a.dd<=b.dd
group by a.d1 having count(b.d1)=1


实际上你的语句应该是最精简的了

d1:asid
d2:uid
huwj1986 2009-09-15
  • 打赏
  • 举报
回复
我想要的结果就像上面那样 从select asid,count(uid) from my_Q group by asid 查得的结果中查询count(uid)的最大值,就是不知道该怎么嵌套,一楼的会出错
huwj1986 2009-09-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 nianzhang747 的回复:]
SQL codeselect t.asid,max(t.c)from (select asid,count(uid) cfrom my_Qgroupby asid) t;
[/Quote]

会出错啊 Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause
nianzhang747 2009-09-15
  • 打赏
  • 举报
回复
select t.asid,max(t.c) from (select asid,count(uid) c from my_Q  group by asid) t;

57,065

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧