【问题标题】:sql select query is not functioning properlysql 选择查询无法正常运行
【发布时间】:2014-05-03 16:10:48
【问题描述】:

我一直在尝试修复这个 sql 查询。查询是假设每天计数。我得到的是它目前将所有天数显示为总数。不是在星期一计算五,而是将所有天数计算为最多 10 天。如何修复我的 sql 查询。

 for($setTime = 29; $setTime >= 0; $setTime--){     
 $time = mysql_query("SELECT COUNT(user_id) 
FROM users 
WHERE time >= UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 29 DAY)) 
GROUP BY DAY(UNIX_TIMESTAMP(time))");   

基本上,该查询不会显示每天的总数,而是会显示 28 天,总共 10 天。如何修复我的 MySQL 查询??

【问题讨论】:

  • 请不要将mysql_* 用于已弃用的新代码。而是使用mysqli_*PDO 表单。
  • 您是否要查找该时间间隔内每个星期一、星期二、星期三...等的唯一计数?这是你的目标吗?
  • 按年、月、日分组

标签: php mysql sql sql-server


【解决方案1】:

如果您需要获取星期一等的计数,请使用DAYNAME

SELECT COUNT(user_id)
FROM users
WHERE time >= UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 29 DAY))
GROUP BY DAYNAME(UNIX_TIMESTAMP(time))

【讨论】:

  • 其实,如果你在select子句中加上dayname(something),看起来是个不错的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-06
  • 1970-01-01
  • 2022-01-05
  • 2013-08-13
相关资源
最近更新 更多