MYSQL - 选择格式化日期并计算格式化日期

标签 mysql

目前我正在尝试选择一个格式化的日期并从这个列中计算它们 here .当我执行此查询时:

SELECT DISTINCT(DATE_FORMAT('connectedOn',"%H:00:00")) AS 'Time' FROM 'connection' 

然后我将所有日期格式化一次。然后当我添加这样的计数时:

SELECT DISTINCT(DATE_FORMAT('connectedOn',"%H:00:00")) AS 'Time', COUNT(*) AS 'TimeCounted' FROM 'connection' GROUP BY 'connectedOn'

然后它给了我这个结果:

enter image description here

计数只计算不同的值,但我希望它计算所有值。我知道这种类型的非重复计数有效,因为我也在其他地方使用它,但现在我还必须更改日期格式。

我希望你们知道我选择格式化日期和计数时间的方法。

最佳答案

您需要按照格式化的时间进行分组,而不是表格中的时间,这样所有具有相同小时的时间将被分组在一起进行计数。

GROUP BY Time

或者,由于格式化时间与表格列的小时相同,您可以:

GROUP BY HOUR(connectedOn)

顺便说一句,在使用 GROUP BY 时不需要使用 DISTINCT。分组防止重复。事实上,您使用 DISTINCT 就好像它是一个函数一样,这表明您不了解它的工作原理。它不是适用于特定列的函数,而是适用于整个 SELECT 列表的关键字。

关于MYSQL - 选择格式化日期并计算格式化日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49680830/

相关文章:

php - 喜欢不工作 mysqli

mysql - 如何使用 Delphi 连接到 MySQL 服务器

php - 为什么即使我检查数据是否存在,我的表仍然插入重复数据? PHP-MYSQL

mysql - CENTOS 中的 REDMINE 安装(bundle/mysql 错误)

mysql - 子查询返回千行,导致慢

php - 在同一服务器的多个数据库中批量创建表

mysql - 使用触发器将数据从一个表复制到另一个表(VTiger)

php - 在 jquery/mysql 中保存 url 时出现问题

php - 使用SQL进行分页查询

JSON 任务后 AndroidPlot 指令被忽略