Sql 显示列中值的最小数目
我使用select语句获取俱乐部列表的计数:Sql 显示列中值的最小数目,sql,db2,Sql,Db2,我使用select语句获取俱乐部列表的计数: SELECT club,COUNT(club) as mycount FROM member GROUP BY club CLUB COUNT --------------- ----------- UCLA Club 5 George Club 11 我需要显示计数表的最小数量: CLUB COUNT ---
SELECT club,COUNT(club) as mycount FROM member GROUP BY club
CLUB COUNT
--------------- -----------
UCLA Club 5
George Club 11
我需要显示计数表的最小数量:
CLUB COUNT
--------------- -----------
UCLA Club 5
我使用了这个语句,但它只显示了最小计数为1列。我需要表格看起来像上面的表格。我如何才能获得俱乐部的名称:
从选择俱乐部中选择MINmycount作为计数,按俱乐部从成员组中选择COUNTclub mycount
我试着做:
SELECT club,MINmycount作为SELECT club的计数,COUNTclub mycount作为yrb_会员组的计数
但是,当我在选择“使用order by”和“先取”后放入club时,会出现一个错误:
注意:如果存在连接,则返回多行
编辑:
如果您需要处理领带,请使用RANK:
使用order by和fetch first:
注意:如果存在连接,则返回多行
编辑:
如果您需要处理领带,请使用RANK:
我的回答长了一点,但我没有想到:
SELECT cl.club, cnt.mincnt FROM
(SELECT club, COUNT(*) cnt FROM member GROUP BY club) cl,
(SELECT MIN(cnt) mincnt FROM (SELECT club, COUNT(*) cnt FROM member GROUP BY club)) cnt
WHERE cl.cnt = cnt.mincnt;
我的回答长了一点,但我没有想到:
SELECT cl.club, cnt.mincnt FROM
(SELECT club, COUNT(*) cnt FROM member GROUP BY club) cl,
(SELECT MIN(cnt) mincnt FROM (SELECT club, COUNT(*) cnt FROM member GROUP BY club)) cnt
WHERE cl.cnt = cnt.mincnt;
如果有两个俱乐部的会员数量相同,我需要同时显示这两个怎么办?如果有两个俱乐部的会员数量相同,我需要同时显示这两个怎么办?
SELECT cl.club, cnt.mincnt FROM
(SELECT club, COUNT(*) cnt FROM member GROUP BY club) cl,
(SELECT MIN(cnt) mincnt FROM (SELECT club, COUNT(*) cnt FROM member GROUP BY club)) cnt
WHERE cl.cnt = cnt.mincnt;