Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 最常见的星期查询_Mysql_Sql_Datetime - Fatal编程技术网

Mysql 最常见的星期查询

Mysql 最常见的星期查询,mysql,sql,datetime,Mysql,Sql,Datetime,有此查询: SELECT HOUR( DATE ) AS hr, COUNT( * ) AS cnt FROM users GROUP BY hr ORDER BY cnt DESC DATE是一个DATETIME字段,上面的查询显示了DATE字段中最常见的小时数 我正在尝试改进它,但不知道如何做,我想将它按周天数和周内天数细分为最常见的时间。请告诉我以下是否有效: SELECT dayname(DATE) as week_day,HOUR( DATE ) AS hr, COUNT( * )

有此查询:

SELECT HOUR( DATE ) AS hr, COUNT( * ) AS cnt
FROM users
GROUP BY hr
ORDER BY cnt DESC
DATE是一个DATETIME字段,上面的查询显示了DATE字段中最常见的小时数


我正在尝试改进它,但不知道如何做,我想将它按周天数和周内天数细分为最常见的时间。

请告诉我以下是否有效:

SELECT dayname(DATE) as week_day,HOUR( DATE ) AS hr, COUNT( * ) AS cnt 
FROM users 
GROUP BY week_day, hr ORDER BY cnt DESC
请尝试此查询-

SELECT
  DAYOFWEEK(DATE) AS wd,
  HOUR(DATE) AS hr,
  COUNT(*) AS cnt
FROM 
 users
GROUP BY
  wd, hr
ORDER BY
  cnt DESC


这给了我比我预期的更多的结果(尽管确实有效)。我正在寻找一个分类:Sun/Mon/Tue/Wed/Thu/Fri/Sat,然后在最常见的时间内。然后尝试更改组byWorks中列的顺序太棒了!,我如何知道第一天的数字1是星期天还是星期一?DAYOFWEEK始终返回1=星期天,依此类推。您可以使用DATE_格式函数,例如-DATE_格式(日期,'%a'))
SELECT
  DATE_FORMAT(DATE, '%a') AS wd, -- or DATE_FORMAT(DATE, '%W')
  HOUR(DATE) AS hr,
  COUNT(*) AS cnt
FROM 
 users
GROUP BY
  wd, hr
ORDER BY
  cnt DESC