SELECT
a.id,
a.gmt_create,
a.click_number,
(
YEAR (a.gmt_create) * 1000 + DAYOFYEAR(a.gmt_create) DIV 2
) AS groupNum
FROM
mp_ae_group_activity a
ORDER BY
groupNum DESC,
a.click_number DESC;
注 : DIV 2 , 这个 "2" 就是按两天分组; a.gmt_create 是datetime类型的字段名;
参考 :
https://www.cnblogs.com/xpyan/p/3643640.html
https://blog.youkuaiyun.com/lz_peter/article/details/78722976
效果图:

不需要groupNum字段时可以这么写:
SELECT
a.id,
a.gmt_create,
a.click_number
FROM
mp_ae_group_activity a
ORDER BY
(
YEAR (a.gmt_create) * 1000 + DAYOFYEAR(a.gmt_create) DIV 2
) DESC,
a.click_number DESC;
本文介绍了一种在SQL中使用特定的日期时间字段gmt_create进行分组和排序的方法,通过将年份和一年中的第几天转换并除以2,实现了数据的两天一周期的分组,同时结合点击数进行二次排序,提供了两个不同的实现方式。
1260

被折叠的 条评论
为什么被折叠?



