SQL:每个工作日有多少次访问?

时间:2016-12-23 23:27:47

标签: sql

我有一张像这样的表:

Visit,Visitdate;
A,2015-03-31T11:11:00.000+0000;
B,2015-03-31T12:11:00.000+0000;
C,2015-04-31T16:11:00.000+0000;
D,2015-07-31T16:15:00.000+0000;
C,2015-04-31T16:11:00.000+0000;
D,2015-07-31T16:15:00.000+0000;

...

我需要知道每个工作日(周一,周二......)的访问次数

我尝试使用以下代码,但它不起作用:

`SELECT date_format (Visitdate, 'EEEE') FROM table,
COUNT (*) AS VisitCount from table group by Visitdate`

使用SELECT date_format (Visitdate, 'EEEE') FROM table我可以指定工作日。

使用SELECT Visitdate, COUNT (*) AS VisitCount from table group by Visitdate,我可以计算每YYYY-MM-DDTHH:MM:SS

的访问次数

但是我无法将两个代码组合起来使其正常工作。

提前致谢!

2 个答案:

答案 0 :(得分:1)

您可以使用:

SELECT 
    date_format(Visitdate, 'EEEE'), COUNT(*) AS VisitCount
FROM table
GROUP BY date_format(Visitdate, 'EEEE')

这样您可以按天的名称进行分组,并计算每天匹配的行数(按组)

答案 1 :(得分:0)

你几乎就在那里 - 你只需要按工作日分组(就像你在选择列表中格式化的那样)而不是日期本身:

SELECT   DATE_FORMAT (Visitdate, 'EEEE'), COUNT (*) AS VisitCount
FROM     mytable
GROUP BY DATE_FORMAT (Visitdate, 'EEEE')