我有一个这样的查询:
SELECT COUNT(*) AS amount
FROM daily_individual_tracking
WHERE sales = 'YES'
AND daily_individual_tracking_date BETWEEN '2010-01-01' AND '2010-03-31'
我是从一个日期范围中选择的。有没有办法获得日期范围内的总天数?
我有一个这样的查询:
SELECT COUNT(*) AS amount
FROM daily_individual_tracking
WHERE sales = 'YES'
AND daily_individual_tracking_date BETWEEN '2010-01-01' AND '2010-03-31'
我是从一个日期范围中选择的。有没有办法获得日期范围内的总天数?
不是很清楚,如果你正在寻找
DATEDIFF('2010-03-31', '2010-01-01')
或者
COUNT(DISTINCT daily_individual_racking_date)
您可以使用 MySQLdatediff
功能:
SELECT DATEDIFF('2010-01-01','2010-01-31') AS DiffDays
它应该返回一个浮点数,其中1.0
代表一天。
对于 MS SQL 使用,
SELECT DATEDIFF( day ,'2010-01-01','2010-01-31') AS DiffDays
你到底想计算什么?daily_individual_tracking_date 的不同值的总数?您是否需要在与 count(*) 查询相同的查询中使用它?
这取决于您使用的 SQL 服务器。
如果您使用的是 MS-SQL Server,则可以使用函数DateDiff
我不确定您使用的是哪个 SQL。TSQL 有一个 DATEDIFF,它将计算两个日期之间的天数。看到这个