如何查询同一日期内随机几条数据?
表是这样的,数据内容全部为CHAR型。
日期 号码 姓名 支出
140301 10001 张三 300
140301 10001 张三 20
140301 10001 张三 30
140220 10001 张三 60
140325 10002 李四 300
140301 10001 张三 300
140301 10002 李四 20
140301 10001 张三 30
140220 10001 张三 60
140325 10002 李四 300
140301 10001 张三 300
140301 10001 张三 20
140301 10001 张三 30
140220 10001 张三 60
140325 10001 张三 300
.
.
.
.
查询的结果是每个日期内小于200条数据的随机显示5条数据不足5条按实际数算,200-600条数据的随机显示10条数据,怎么写这语句?
------解决方案--------------------修改一下 没看见是每天的
DECLARE @countnum INT
SELECT TOP 1 @countnum=num FROM (SELECT COUNT(1) AS num,日期 FROM tb GROUP BY 日期)AS t ORDER BY num DESC
IF @countnum<200
SELECT TOP 5 * FROM tb ORDER BY NEWID()
IF @countnum>200 AND @countnum<600
SELECT TOP 10* FROM tb ORDER BY NEWID()