mysql(1) : 文章按指定天数分组并按点击数倒序排列查询

本文介绍了一种在SQL中使用特定的日期时间字段gmt_create进行分组和排序的方法,通过将年份和一年中的第几天转换并除以2,实现了数据的两天一周期的分组,同时结合点击数进行二次排序,提供了两个不同的实现方式。

 

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;

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值