mysql查询,实现时间轴展示的问题。

山楂罐头 2018-01-20 07:31:26
各位大神们,求救啊。

需求是这样有一个动态信息表,表里有一个时间字段。

现在想用这个时间做轴,查询这个表中的信息。

比如表中的信息
id info sort time
1 早上 1 2018-1-20 00:00:00
2 中午 2 2018-1-20 00:00:00
3 早上 1 2018-1-21 00:00:00
4 晚上 3 2018-1-21 00:00:00
5 早上 1 2018-1-22 00:00:00
6 中午 2 2018-1-22 00:00:00
7 晚上 3 2018-1-22 00:00:00

想实现的效果是
2018-1-22
晚上
中午
早上
2018-1-21
晚上
早上
2018-1-20
中午
早上

想了好久也没好的思路,各位大神们。求救啊!
...全文
1472 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 2018-01-22
  • 打赏
  • 举报
回复
-- SELECT GROUP_CONCAT(info SEPARATOR '\n') FROM(  -- 如果是拼成一个字符串
SELECT info FROM(
	SELECT time, sort, time as info
	FROM(
		SELECT DATE_FORMAT(time, '%Y-%m-%d') as time, MAX(sort) + 1 as sort
		FROM tb GROUP BY time
	) a
	UNION ALL 
	SELECT DATE_FORMAT(time, '%Y-%m-%d') as time, sort, info
) DATA ORDER BY TIME DESC, sort DESC
zjcxc 2018-01-22
  • 打赏
  • 举报
回复
你是要多行显示,还是弄这样一个字符串?如果弄这样一个字符串,那就排序串联起来就行
ChinaITOldMan 2018-01-22
  • 打赏
  • 举报
回复
1. 写个函数用case语句搞定 2. 子查询用case搞定
rucypli 2018-01-21
  • 打赏
  • 举报
回复
写个存储过程来实现比较简单

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧