mysql输出年月分类求助

gu_zhuang 2012-10-05 11:07:10
表: id title timedata
内容 加入时间

怎么根据存储的时间来分类,比如2012年 8月 5月.2011年5月 有存储数据,怎么让它显示结果为
(也就是说按照文章的写入时间按照年月分类,2012年在哪一月有储存信息,就显示)
<ul>
<li>
<li>2012</li>
<ul>

<li> 8</li>
<li>5</li>

</ul>
</li>
<li>
<a>2011</a>
<ul>
<li>5</li>
</ul>
</li>
</ul>
这样的分类循环输出SQL怎么写?
...全文
210 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
helloyou0 2012-10-09
  • 打赏
  • 举报
回复
嗯, 一般到这个程度就交给php了

如果非要用sql的话:

select distinct year(from_unixtime(timedata)) y,
group_concat(distinct month( from_unixtime(timedata)) order by month( from_unixtime(timedata)) separator ' ') m
from yourtable
group by y
;


[Quote=引用 7 楼 的回复:]

引用 4 楼 的回复:

select distinct year(from_unixtime(timedata)), month( from_unixtime(timedata))
from yourtable


这样查询结果为
from_unixtime(timedata) from_unixtime(timedata)
2011 ……
[/Quote]
gu_zhuang 2012-10-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

select distinct year(from_unixtime(timedata)), month( from_unixtime(timedata))
from yourtable
[/Quote]

这样查询结果为
from_unixtime(timedata) from_unixtime(timedata)
2011 8
2012 5
2012 9
怎么写代码让他显示2012 5 9
2011 8
happypiggy2010 2012-10-06
  • 打赏
  • 举报
回复
用group by year(your date), month(year date)
helloyou0 2012-10-06
  • 打赏
  • 举报
回复
select distinct year(from_unixtime(timedata)), month( from_unixtime(timedata))
from yourtable
www_7di_net 2012-10-06
  • 打赏
  • 举报
回复
我的sql功底不行,所以如果是我的话应该是把时间值取出来,然后使用Gmdate函数格式化日期,重新规划数组,最后显示
这个方法应该是比较笨的.
兼哲 2012-10-05
  • 打赏
  • 举报
回复
先输出数据,然后你在php循环里自己判断。不要考虑用sql解决业务逻辑问题
gu_zhuang 2012-10-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

说明一下 timedata 字段存储的格式
最好给几个值
[/Quote]

id title timedata
1 2012年5月内容 1347903912
2 2012年9月内容 1349361341
3 2011年5月内容 1320158641
xuzuning 2012-10-05
  • 打赏
  • 举报
回复
说明一下 timedata 字段存储的格式
最好给几个值

21,890

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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