-2
A
回答
1
SELECT id, COUNT(DISTINCT convert(date, startTime)) as noOfDays
FROM your_table
GROUP BY id
0
如果要檢查僅基於在startdate
列日,使用下面的查詢。
SELECT COUNT(DISTINCT cast (StartTime as date)) DaysCount
FROM YourTable
Where ID=1
0
你可以簡單地做這樣的
Select id,TotalCount=Count(id) from YourTable group by id
0
鋁雖然這個問題不是很清楚,我想你想獲得的連接總天數爲每個ID考慮到多個連接每天(全部算作一個連接)。此外,連接可能會持續數天(取決於EndTime),在這種情況下,這些天數也應該計算在內。
試試這個:
declare @tt table(id int, StartTime datetime, EndTime datetime)
insert into @tt values
(1, '2016-09-20 13:01', '2016-09-20 13:30')
,(1, '2016-09-20 14:20', '2016-09-20 16:09')
,(1, '2016-09-20 17:20', '2016-09-20 17:51')
,(1, '2016-09-22 23:20', '2016-09-22 23:40')
,(2, '2016-09-20 14:20', '2016-09-20 16:09')
,(2, '2016-09-20 16:01', '2016-09-20 16:09')
,(3, '2016-09-20 14:20', '2016-09-20 14:56')
,(3, '2016-09-23 19:20', '2016-09-23 20:09')
,(4, '2016-09-20 22:20', '2016-09-20 23:00')
select * from @tt
;with cte1 as
(
select ID, convert(Date, StartTime) as StartDate
, convert(Date, max(EndTime)) as EndDate
from @tt
group by id, convert(Date, StartTime)
),
cte2 as
(
select *, DATEDIFF(day, StartDate, EndDate) +1 as DaysCount
from cte1
)
select id, sum(DaysCount) as DaysCount
from cte2
group by id
0
select id,count(distinct(dbo.GetDateInt(StartTime))) NoofDays from table_name group by id
注:在SQL Server中執行這個查詢2012年和getDateInt()
是數據庫的功能。返回日期只有2016-09-23。
相關問題
- 1. 重寫這個子查詢?
- 2. 如何編寫這個SQL子查詢?
- 3. 你怎麼能重寫這個查詢不使用子查詢?
- 4. 子查詢還是不寫這個查詢?
- 5. 我在這個OVER例子上需要一個子查詢嗎?
- 6. 幫我寫這個查詢
- 7. 如何寫這個查詢
- 8. 寫子查詢()
- 9. 重寫這個例子沒有做
- 10. 在不使用子查詢的情況下編寫查詢
- 11. 如何使用Django ORM查詢這個多對多的例子?
- 12. 如何寫查詢在LINQ對於這個下面的情形
- 13. 寫下表查詢
- 14. 一個基本的SQL查詢例子
- 15. 怎樣用SQL查詢,在這個例子中開閉股票
- 16. 如何在沒有子查詢的情況下爲以下查詢編寫sql
- 17. 如何正確使用WHERE子句編寫這個SQL查詢?
- 18. 如何編寫這個MySQL查詢? (datetime)
- 19. 如何寫sql查詢到這個?
- 20. 如何寫這個SQL查詢中JPQL
- 21. 不知道如何寫這個查詢
- 22. MySQl。你將如何寫這個查詢
- 23. 如何編寫這個linq查詢?
- 24. 如何編寫這個Neo4j查詢?
- 25. 如何編寫這個xpath查詢?
- 26. 如何編寫這個嵌套查詢?
- 27. 我怎樣寫這個查詢
- 28. 如何寫這個sql查詢
- 29. 如何寫這個豬查詢?
- 30. 我該如何編寫這個查詢?
你不清楚你問什麼。你需要天數還是日期?如果最後一行的EndTime是9月25日呢?順便說一句,你應該顯示你到目前爲止已經嘗試過的,StackOverflow不是一個家庭作業解決者的地方。 http://stackoverflow.com/help/how-to-ask – Andrew
不要將示例表數據作爲圖像發佈。另一件事,如果StartTime是2016-09-20和EndTime 2016-09,則id = 1 -20,那麼它應該算作1或2? – Wanderer