我可以: 邀请好友来看>>
ZOL星空(中国) > 技术星空(中国) > MySQL星空(中国) > mysql查找a最小的b不能重复的以a排序的前3名怎么写,里面看看
帖子很冷清,卤煮很失落!求安慰
返回列表
签到
手机签到经验翻倍!
快来扫一扫!

mysql查找a最小的b不能重复的以a排序的前3名怎么写,里面看看

74浏览 / 6回复

humanblue

humanblue

0
精华
25
帖子

等  级:Lv.5
经  验:4038
  • Z金豆: 0

    千万礼品等你来兑哦~快点击这里兑换吧~

  • 城  市:北京
  • 注  册:2008-07-22
  • 登  录:2014-01-05
发表于 2009-03-19 09:53:39
电梯直达 确定
楼主
author, id ,title
a  1  title1
a  2  title2
a  3  title3
b  4  title4
c  5  title5

我现在要一个结果就是,查找id最小的author不能重复的以id升序的前3名的怎么写

如果您是

select distinct author,id,title from table order by id asc limit 3

select * from table group by author order by id asc limit 3

这两种结果就不要贴了,这两个结果都不对


author, id ,title
a  1  title1
b  4  title4
c  5  title5

正确结果应该是这个

floydhw

floydhw


精华

帖子

等  级:Lv.1
经  验:68
发表于 2009-04-10 22:14:47 1楼
没理解错的话,楼主说的是找出每个author所拥有的最小ID,然后将所得的ID按升序排列。列出前三个ID所代表的行。我手头没有任何真正的数据库软件,就用access来试一下,所得结果跟楼主一致。author id titlea 1 title1b 4 title4c 5 title5sql语句如下:select * from test As T1where T1.ID in(SELECT TOP 3 MinIDFROM [SELECT distinct test.author, min(test.id) as MinID FROM test group by author]. AS T1ORDER BY MinID)

floydhw

floydhw


精华

帖子

等  级:Lv.1
经  验:68
发表于 2009-04-10 22:16:59 2楼
居然没法编辑自己的帖子。 SQL语句如下:
select * from test As T1
where T1.ID in
(
SELECT TOP 3 MinID
FROM [SELECT distinct test.author, min(test.id) as MinID FROM test group by author]. AS T1
ORDER BY MinID)

结果如下:
author id title
a 1 title1
b 4 title4
c 5 title5









lihui8852

lihui8852


精华

帖子

等  级:Lv.5
经  验:5527
发表于 2009-04-30 19:30:41 3楼
学习了

110119linlin

110119linlin


精华

帖子

等  级:Lv.5
经  验:3697
发表于 2009-12-10 20:48:02 4楼
学习

freewatersb

freewatersb


精华

帖子

等  级:Lv.1
经  验:2
发表于 2009-12-23 16:27:10 5楼
这样写呢

select a.author,min(a.id),b.title
from test a,test b
where a.id=b.id group by author limit 3;



lihui8852

lihui8852


精华

帖子

等  级:Lv.5
经  验:5527
发表于 2009-12-31 23:15:50 6楼
学习
高级模式
星空(中国)精选大家都在看24小时热帖7天热帖大家都在问最新回答

针对ZOL星空(中国)您有任何使用问题和建议 您可以 联系星空(中国)管理员查看帮助  或  给我提意见

快捷回复 APP下载 返回列表