我需要使用以下数据查询&生成报告,如下面的结尾。
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
答案 0 :(得分:1)
将COUNT
和DISTINCT
与GROUP BY
一起使用。
<强>查询强>
select `text`, count(distinct `date`) as `days`
from `your_table_name`
group by `text`
order by `days` desc, `text`;
答案 1 :(得分:0)
尝试这样的事情:
SELECT text, COUNT(distinct date)
FROM CTE
GROUP BY text
答案 2 :(得分:0)
您可以使用日期功能返回两个日期之间的天数差异。您必须按文本分组并在最小和最大日期之间进行区分,因此您将拥有:
SELECT text,DATEDIFF(max(date), min(date)) + 1 from mytable group by text;
+ 1包括下限 希望这个帮助