Count days in date range?

2020-04-11 02:47发布

I have a query like this:

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

I am selected from a date range. Is there a way to also get the total days in the date range?

5条回答
我只想做你的唯一
2楼-- · 2020-04-11 03:20

This depends on what SQL server you're using.

If you're using MS-SQL Server, you can use the function DateDiff

查看更多
不美不萌又怎样
3楼-- · 2020-04-11 03:21

Not really clear if you are looking for

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

or

COUNT(DISTINCT daily_individual_racking_date)
查看更多
在下西门庆
4楼-- · 2020-04-11 03:21

What exactly are you trying to count? The total number of distinct values of daily_individual_tracking_date? Do you need it in the same query as the count(*) query?

查看更多
男人必须洒脱
5楼-- · 2020-04-11 03:25

You can use the MySQL datediff function:

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

It should return a floating point, where 1.0 represents a single day.

And for MS SQL use ,

SELECT DATEDIFF( day ,'2010-01-01','2010-01-31') AS DiffDays
查看更多
手持菜刀,她持情操
6楼-- · 2020-04-11 03:26

I'm not sure which SQL you are using. TSQL has a DATEDIFF that will count the number of days between two dates. See this

查看更多
登录 后发表回答