2010-04-08 176 views
1

我有这样的查询:在日期范围内计算天数?

SELECT COUNT(*) AS amount 
FROM daily_individual_tracking 
WHERE sales = 'YES' 
AND daily_individual_tracking_date BETWEEN '2010-01-01' AND '2010-03-31' 

我从一个日期范围内选择。有没有办法在日期范围内获得总天数?

+0

您确定您有该范围内每一天的数据吗? – djc 2010-04-08 17:37:57

+0

你可以给一个查询应该输出的例子吗?甚至可能有一些示例数据? – 2010-04-08 17:42:38

回答

12

真不明白,如果你正在寻找

DATEDIFF('2010-03-31', '2010-01-01') 

COUNT(DISTINCT daily_individual_racking_date) 
+0

我在找DATE DIFF谢谢!!! – 2010-04-08 18:03:55

0

你究竟想要计算什么? daily_individual_tracking_date的不同值的总数?你是否需要它在与count(*)查询相同的查询中?

0

您可以使用MySQL datediff功能:

SELECT DATEDIFF('2010-01-01','2010-01-31') AS DiffDays 

应该返回一个浮点,其中1.0代表一天。

0

这取决于您使用的SQL服务器。

如果您正在使用MS-SQL Server,您可以使用函数DateDiff

0

我不知道你正在使用的SQL语句。 TSQL有一个DATEDIFF来计算两个日期之间的天数。请参阅this