关于查询构造器中 orderBy 只按 created_at 中的时刻去排序的问题 想要忽略日期?

第一次在LC发言 很喜欢这个社区
是这样的 最近有一个类似打卡的需求
希望在一个月中每天打卡的数据里 找到一个打卡时间最早的数据
换句话说就是不考虑日期,只按timestamp中的时刻去排序
但是用orderBy('created_at') 默认是会考虑日期的 达不到想要的效果
只想到了循环比较的方法,是不是太笨了.
来这里请教大家,感谢..

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
lufeijun1234
最佳答案

file

可以多个order by

5年前 评论
讨论数量: 10
minoyu

:cry: :cry:自己顶一下

5年前 评论

什么意思?这个不就是找出那个月的数据,然后按你打卡时间 orderBy 排序就好了么

5年前 评论
minoyu

@YKAEJ 打卡时间created_at 是有年月日的,
如果直接orderby只会只能拿到一个月最先的那条数据啊。。
想的是能不能只按created_at里面的时刻(几点几分)排序

5年前 评论

created_at 可以换成int类型,写入时间戳

5年前 评论

@minoyu sql 像是这样么? 我也不太清楚这样写好不好

SELECT * FROM users ORDER BY HOUR(created_at) desc, MINUTE(created_at) desc
5年前 评论
lufeijun1234

file

可以多个order by

5年前 评论
minoyu

@xuanjiang1985 能不能最好不改变现有的结构

5年前 评论
minoyu

@YKAEJ 恩恩 好的 我去试一下

5年前 评论
minoyu

@lufeijun1234 感谢

5年前 评论

可以这样,先选择一个月,某个用户,然后根据主键排序 orderBy('id')。一般按创建时间排序,我会orderBy('id'), 这样直接走索引树

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!