簡體   English   中英

數不。 SQL 中的天數

[英]Count no. of days in SQL

我需要使用以下數據進行查詢並生成如下所示的報告。

text | date
-----------------
aa   | 25-08-2017
aa   | 26-08-2017
aa   | 26-08-2017
aa   | 26-08-2017
aa   | 27-08-2017
ab   | 25-08-2017
ab   | 25-08-2017
bb   | 25-08-2017
bb   | 26-08-2017
bb   | 26-08-2017
bb   | 26-08-2017

我需要這樣的報告,

text | days
-----------
aa   | 3
bb   | 2
ab   | 1

COUNTDISTINCTGROUP BY

詢問

select `text`, count(distinct `date`) as `days`
from `your_table_name`
group by `text`
order by `days` desc, `text`;

嘗試這樣的事情:

SELECT text, COUNT(distinct date)
FROM CTE
GROUP BY text

您可以使用 datediff 函數返回兩個日期之間的天數差異。 您必須按文本分組並區分最小和最大日期,因此您將擁有:

SELECT text,DATEDIFF(max(date), min(date)) + 1 from mytable group by text;

+ 1 是包括較低的極端希望這有幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM