我正在努力找出这个正确的mysql查询...
我有一个名为' blog‘的表,里面有博客条目。每个条目都有一个名为'created.‘’的日期时间列(YYYY-MM-DD HH:MM:SS)。我想在我的页面的侧边栏上列出所有不同的月份-年份,这样用户就可以很容易地从博客存档中找到更老的条目。
我有一个用户定义的函数,我的BlogEntry类使用它来查询数据库。根据查询,它返回一个记录数组。例如..。
$entries = BlogEntry::find_by_sql("SELECT * FROM blog ORDER BY created DESC");我可以使用什么查询来仅返回写入条目的不同月份-年份?
我已经尝试了一些东西(没有成功),比如:
$months = BlogEntry::find_by_sql("SELECT DISTINCT MONTH(created) FROM blog");任何关于如何返回不同的月份和年份的想法或建议都将非常感谢!
更新:也许我的问题在于如何显示返回的记录。我一直在尝试下面的方法。
<ul>
<?php foreach($months as $month): ?>
<li><?php echo $month->created; ?></li>
<?php endforeach; ?>
</ul>我知道这看起来不太对劲。如何将其格式化为list Month-YYYY?
发布于 2015-04-06 20:04:57
你可以用这个。
select distinct(DATE_FORMAT(date,'%m-%Y')) from table_name
where order by DATE_FORMAT(date,'%Y') asc,DATE_FORMAT(transaction_date,'%m') asc;https://stackoverflow.com/questions/8027734
复制相似问题