[英]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
將COUNT
和DISTINCT
與GROUP 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.