【发布时间】:2012-03-22 05:36:24
【问题描述】:
我正在尝试想出一种方法来查询我的博客数据库,以找出特定范围内的哪些日子有帖子。
例如。如果我的日期是 2012 年 1 月 1 日 - 2012 年 1 月 30 日,那么这 30 天中有多少天至少包含一篇博文?
我的日期存储为:0000-00-00 00:00:00
【问题讨论】:
我正在尝试想出一种方法来查询我的博客数据库,以找出特定范围内的哪些日子有帖子。
例如。如果我的日期是 2012 年 1 月 1 日 - 2012 年 1 月 30 日,那么这 30 天中有多少天至少包含一篇博文?
我的日期存储为:0000-00-00 00:00:00
【问题讨论】:
select count(date_column)
from your_table
where date_column between '2012-01-01' and '2012-01-30'
group by date_column
having count(date_column) > 0
【讨论】:
having count(date_column) > 0。
having count(date_column) > 0?我认为上述查询生成的所有行的计数至少为 1。您能否提供一些可以为 0 的示例数据?
我想只是为了得到有帖子的天数
SELECT Count(distinct DATE(date_column))
FROM your_table
WHERE DATE_COLUMN > '2012-01-01' and DATE_COLUMN < '2012-02-01'
要获得它们的列表,更像是 jergen 写的:
SELECT date(date_column)
FROM your_table
GROUP BY date(date_column)
date 是一个 mysql 函数,用于从 datetime 列中获取日期(我没有尝试过,只是通过阅读手册)
【讨论】:
SELECT count(*) FROM `table_name`
where
mydate>='2011-03-17 06:42:10' and mydate<='2011-03-17 06:42:50';
或之间使用
SELECT count(*) FROM `table_name`
where
mydate between '2011-03-17 06:42:10' and '2011-03-17 06:42:50';
【讨论】: