算不了。在SQL中的几天

时间:2017-10-04 08:08:00

标签: mysql 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

3 个答案:

答案 0 :(得分:1)

COUNTDISTINCTGROUP 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包括下限 希望这个帮助