问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mysql中查询每天的前5条数据

发布网友 发布时间:2022-04-07 17:14

我来回答

3个回答

热心网友 时间:2022-04-07 18:43

SELECT
*
FROM
表 main
WHERE
(
SELECT
COUNT(1)
FROM
表 sub
WHERE
DATE ( main.日期时间列 ) = DATE ( sub.日期时间列 )
AND main.日期时间列 > sub.日期时间列
) < 5
ORDER BY
main.日期时间列追问先谢谢,但刚才试了下,执行查询很长时间都没出结果,有什么效率更高的方法吗?

追答如果你数据量很大的话, 那就要写存储过程了。

基本上是通过使用 游标 + 动态SQL 的处理机制。

先游标, 查询共有哪些天, 游标内部 拼 SQL
也就是 拼一个
SELECT *
FROM 表
WHERE DATE( 日期时间列 ) = 游标里面的日期
ORDER BY 日期时间列
LIMIT 5
UNION ALL ...... 游标中循环处理.

游标处理完毕后, 执行动态 SQL , 完成查询。

例子代码有点长, 不知道贴不贴得上来。

还有一种写法, 是通过 模拟 ROW_NUMBER + PARTITION 的方式来处理, 性能嘛,倒是比上面那个好一些, 但是很大数据量的, 就没有测试过了, 你可以尝试一下。

SELECT
日期时间列,
其他列
FROM
(
SELECT
CASE
WHEN @cn != DATE_FORMAT(日期时间列, 'YYYYMMDD') THEN @rownum:= 1
ELSE @rownum:= @rownum + 1
END AS No,
@cn := DATE_FORMAT(日期时间列, 'YYYYMMDD') AS ymd,
日期时间列,
其他列
FROM
(SELECT @rownum:=0) r,
(SELECT @cn:='') p,

ORDER BY
日期时间列
) subQuery
WHERE
no <=5;

热心网友 时间:2022-04-07 20:01

楼上给的那个方法确实可以一句话查出LZ要的分组前n条结果。但是我劝LZ不要用,因为效率低到可怕!5000条数据就需查上6秒以上,而且还是在有正确索引的前提下。(本人以前吃过这苦头)追问刚才试了下,的确很长时间还没有结果,这个表一般会有几十万条数据,还有什么好办法吗?

追答我是没找到,你结合脚本语言,分段写吧。或者用存储过程也可以,但效率也差不多。

热心网友 时间:2022-04-07 21:36

用 union all追问你的意思是不是写30条查询每天前5条数据的sql然后用union连起来?

追答也可以用程序写。单纯sql语句肯定慢死。
可以写一个日期数组 循环每天的数据 综合起来就是一个月的每天5条。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 楼梯的水泥台阶上可以铺地板革吗 手机腾讯会议共享屏幕播放视频没声 腾讯会议共享屏幕没声音怎么办 荣耀x30要贴镜头膜吗 镜头膜贴上有影响吗? 荣耀60pro视频模糊背景是咋会事? 我使用的联通手机,怎么做转移呼叫? 联通呼叫转移提示无法接通但会收到短信提示是为什么? 呼叫转移 联通 如何设置联通电话呼叫转移? 固话呼叫转移设置成功后打联通固定电话提示无法接通?? 我的185联通卡,打不进电话,一直提示无法接通是怎么回事 烟草证一个季度能生几档 这里是联通运输,您拨打的用户无法接通您的电话 广东农村烟草证最好升到多少档 女人出轨后的生理表现有哪些头发早白吗? 烟证一档多少时能到十档 不知联通号码拨打电话提示暂时无法接通,如何是好? 我打电话给联通的号码显示呼叫转移中,提示音你拨打的电话暂时无法接通,是不是被拉入黑名单了? 河南联通,就是拨打一组号码,呼叫转移,在开机的情况 别人打电话是暂时无法接通 随后会给你发送一条信息 为什么我的联通卡别人经常打电话给我都是暂时无法接通得开峰窝移动数据才能通是怎么回事啊? 烟草证升档一次可以升级档 打联通号 没有嘟声 就联通秘书提醒暂时无法接通 会是呼叫转移嘛? NThan00荣耀50手机出厂有镜头膜吗? 华为荣耀x10出厂有没有自带后摄像膜? 如何实现书法中的笔势与笔力 手机铃声怎么自制? 信用卡借条怎么写有法律效力 荣耀magic3出厂后摄像头带膜吗 怎么给苹果手机自制铃声 书法如何练习才能练习好? 信用卡借款欠条怎么写才生效 如何自制手机铃声 信用借条上征信吗 求教,买了娇韵诗的红魔晶和纤体瘦身霜,怎么用? 搞懂“笔势”,写出你的书法“味道”(一) 娇韵诗 纤体 红魔晶一定要和纤体霜一起用吗? 怎么自制手机铃声? 如何学习书法的用笔? 娇韵诗的纤体精华霜(红魔晶)和花样年华美腹霜(呼啦小腹霜)可以同时使 ... 怎么自制手机铃声 搞懂“笔势”,写出你的书法“味道”(二) 娇韵诗纤体精华霜和第五代红魔晶有什么区别