一个很棘手的sql语句

crazyinsomnia 发布于 2011/03/08 11:20
阅读 1K+
收藏 3

这是一张表的数据

希望得到的结果是 按date、pay排序 但是每天只要求有3条数据

求高手解答

加载中
0
天南海北
天南海北

select * from table_name order by date,pay limit 0,3

行不?

0
crazyinsomnia
crazyinsomnia

引用来自#2楼“haikuotiankong”的帖子

select * from table_name order by date,pay limit 0,3

行不?

这个方式只能有3条数据,我想要是每天有3条数据

0
wx---每日佳选
wx---每日佳选

不要想一个SQL 都出来了. 那样的SQL很耗时...

0
sdfsadfasd
sdfsadfasd

分组不可以吗?

0
wediolee
wediolee

要group by date吧

0
crazyinsomnia
crazyinsomnia

引用来自#6楼“wediolee”的帖子

要group by date吧

group by 很明显一天只有一条数据了

0
crazyinsomnia
crazyinsomnia

引用来自#4楼“非良”的帖子

不要想一个SQL 都出来了. 那样的SQL很耗时...

耗时也ok!问题是我想看看有多耗时

0
William
William

可參考下面代碼

SELECT * 

FROM #t t

WHERE 

t.pay IN (

SELECT TOP 3 pay

FROM #t 

WHERE date = t.date

ORDER BY pay DESC

ORDER BY t.date, t.pay desc

我覺得你的表的主鍵不可能是這三個字段吧?

若是有唯一主鍵時, where裏的子查詢可返回主鍵就OK

0
天南海北
天南海北

每天三条??group by date

0
霖vv
霖vv

这样 一条sql 很难解决吧。 除非在设计表的时候 下点功夫。

返回顶部
顶部