`

mysql 的gruop by 关键字特殊情况

 
阅读更多

mysql  的gruop by 用法,并不遵循标准的sql语法写法。如,

SELECT * FROM bip_sysnotice_not_read

 



 

这里想按account_id分组查时间最小的那么数据库

分组查询的时候不要select *,比如像这样是不对的:

SELECT *
   FROM bip_sysnotice_not_read
  WHERE site_id =2
  GROUP BY account_id
  HAVING MIN(create_time)  BETWEEN DATE_SUB(NOW(),INTERVAL 36 HOUR) AND DATE_SUB(NOW(),INTERVAL 24 HOUR)



 
 不指定分组字段,在 mysql 虽然不会报错,但是得出的结果不一定是对的

 

正确的写法应该遵循标准的group by 语法,指定分组字段,如

SELECT account_id,MIN(create_time) min_time
   FROM bip_sysnotice_not_read
  WHERE site_id =2
  GROUP BY account_id
  HAVING min_time  BETWEEN DATE_SUB(NOW(),INTERVAL 36 HOUR) AND DATE_SUB(NOW(),INTERVAL 24 HOUR)

 



 

 

 

  • 大小: 54.1 KB
  • 大小: 32.8 KB
  • 大小: 26.5 KB
分享到:
评论

相关推荐

    mysql关键字

    17. `GROUP BY`:用于对结果集进行分组。 18. `HAVING`:在聚合函数后进行筛选。 19. `ORDER BY`:对查询结果进行排序。 20. `LIMIT`:限制返回的行数。 21. `INSERT`:用于向表中插入新记录。 22. `UPDATE`:用于...

    MYSQL关键字

    - **GROUP BY**:分组。 - **HAVING**:过滤分组结果。 - **LIMIT**:限制返回的行数。 - **OFFSET**:偏移量。 - **JOIN**:连接多个表。 - **LEFT JOIN**/ **RIGHT JOIN**/ **INNER JOIN**:不同的连接方式。 - **...

    Mysql 关键字执行顺序

    MySQL 关键字执行顺序是数据库查询优化的重要概念,它直接影响着SQL语句的性能和结果。下面我们将详细探讨这些关键字的执行流程,并解答一些常见疑问。 首先,MySQL的执行顺序如下: 1. FROM:首先执行FROM子句,...

    MySQL中无GROUP BY情况下直接使用HAVING语句的问题探究

    总结来说,尽管在没有 `GROUP BY` 的情况下使用 `HAVING` 是不标准的,但MySQL允许这种用法并将其解释为 `GROUP BY NULL`。这就意味着 `HAVING` 后面跟着的聚合函数(如 `MIN` 或 `MAX`)会在整个数据集上运算,而...

    Mysql中distinct与group by的去重方面的区别

    在MySQL数据库中,`DISTINCT` 和 `GROUP BY` 是两个非常重要的SQL关键字,它们都可以用来处理数据的去重问题,但在实际应用中,两者的使用场景和效果有所差异。 首先,`DISTINCT` 关键字的主要作用是去除查询结果中...

    简单讲解sql语句中的group by的使用方法

    `GROUP BY`关键字用于将数据表中的数据根据一个或多个列的值进行分组。通过分组,你可以对每个组应用聚合函数,这有助于汇总数据并提供更高级别的统计信息。例如,如果你有一个销售表,你可以按照地区分组,然后...

    MySQL高级查询之与Group By集合使用介绍

    MySQL中的`GROUP BY`语句是用于对数据进行分组,以便可以对每个分组执行聚合函数,如`SUM`, `COUNT`, `AVG`, `MAX`, `MIN`等。当你需要统计每个分组内的一些特定信息时,`GROUP BY`就显得非常有用。 在描述中提到,...

    mysql中order by与group by的区别

    在MySQL数据库中,`ORDER BY` 和 `GROUP BY` 是两个非常重要的子句,它们各自在数据处理中扮演着不同的角色。理解它们的区别对于优化查询性能和获取所需数据至关重要。 `ORDER BY` 子句主要用于对查询结果进行排序...

    MySQL优化GROUP BY方案

    MySQL中的GROUP BY语句用于对数据进行分组,通常与聚合函数(如SUM, COUNT, AVG, MAX, MIN)一起使用,以便对每个分组进行计算。然而,执行GROUP BY查询时,数据库需要进行大量的计算,这可能导致性能下降。为了优化...

    MySQL关键字Distinct的详细介绍

    MySQL中的`DISTINCT`关键字是用于消除查询结果中的重复行,从而返回唯一不同的值。它在数据查询中扮演着至关重要的角色,特别是在处理可能存在重复记录的数据表时。下面将详细介绍`DISTINCT`关键字的用法及其注意...

    MySQL中distinct语句的基本原理及其与group by的比较

    在MySQL数据库中,`DISTINCT`和`GROUP BY`都是用于数据去重和分组的SQL语句,但它们有着不同的应用场景和优化策略。本文将深入探讨`DISTINCT`语句的基本原理,并与`GROUP BY`进行比较。 首先,`DISTINCT`关键字用于...

    关于mysql数据查询中 count()等聚集函数,关键字limit,group by,having的一些用法

    对于初学者来说,一般用学生及其选课等信息这些基本的操作入手。...group by 表示 以······分组, 查询表中被选人数少于3的课程及人数: having 后跟附加条件, 4、其他聚集函数的应用: 最大值max()、最

    MySQL中distinct与group by语句的一些比较及用法讲解

    在MySQL数据库中,`DISTINCT` 和 `GROUP BY` 是两种用于数据去重和分组统计的SQL语句,它们虽然都可以帮助我们处理重复数据,但有着不同的应用场景和执行机制。 1. `DISTINCT` 关键字: - `DISTINCT` 主要用于去除...

    MySQL中group_concat函数深入理解

    MySQL中的`GROUP_CONCAT`函数是一个非常实用的聚合函数,它允许你在分组查询中将一组行的某个列值合并成一个字符串,每个值之间由指定的分隔符隔开。这个函数对于数据汇总和报告生成特别有用,因为它可以把多行数据...

    mysql group by 对多个字段进行分组操作

    MySQL的GROUP BY语句是数据库查询中用于对数据进行分组和聚合操作的关键部分,它允许我们基于一个或多个字段的值对数据进行汇总。在本文中,我们将深入探讨GROUP BY的基本概念、语法以及如何使用它来处理多字段分组...

    【DISTINCT】优化之MySQL官方文档翻译

    在大多数情况下,`DISTINCT`子句可以被视为一种特殊的`GROUP BY`实例。例如,以下两个查询是等效的: ```sql SELECT DISTINCT c1, c2, c3 FROM t1 WHERE c1 > const; SELECT c1, c2, c3 FROM t1 WHERE c1 > const ...

    MySQL的保留字.pdf

    MySQL数据库中的保留字是指在数据库中具有特殊意义和用途的单词,它们被用于SQL语句中,以执行特定的操作或作为命令的关键字。这些保留字不能用作表名、列名或其他对象的名称。保留字通常用于执行数据查询、定义数据...

    MySQL优化篇:排序分组优化.pdf

    MySQL优化篇:排序分组优化,主要关注的是在使用order by和group by关键字进行查询时的性能优化。order by关键字用于对查询结果进行排序,而group by关键字用于对数据进行分组汇总。这两个操作在SQL语句中非常常见,...

Global site tag (gtag.js) - Google Analytics