【查询】常用查询语句

书写顺序

执行顺序

SELECT count(*)

FROM  table_name

WHERE uri='xxx'

GROUP BY dt HAVING dt>'xxx'

ORDER BY desc

LIMIT 10

(1) FROM: 指定数据源,从中选择列和行

(2) WHERE: 筛选行,过滤掉不满足条件的行

(3) GROUP BY: 将筛选后的行按照指定的列进行分组

(4) HAVING: 对分组后的结果进行进一步的筛选

(5) SELECT: 选择所需的列或计算值

(6) ORDER BY: 对结果进行排序

(7) LIMIT: 限制返回的行数

1、GROUP BY 

用于结合聚合函数使用,根据指定字段进行分组

  • GROUP BY后指定需要分组的字段
  • SELECT后的非聚合字段只能是GROUP BY子句中的,简单理解为 SELECT后的字段 = GROUP BY后的字段+聚合函数
  • GROUP BY HAVING:用于对GROUP BY结果进行过滤

2、ORDER BY

用于对查询结果进行排序。可以按一个或多个列的升序(ASC)或降序(DESC)进行排序

  • 在指定一条 ORDER BY 子句时,应该保证它是 SELECT 语句中最后一条子句。如果它不是最后的子句,将会出错。 
  • 同时使用order by 和 limit时,先写order by,再写 limit

3、LIMIT

用于限制返回记录的数量

  • LIMIT放在语句最后,执行时也是最后执行
  • 分页查询

示例

1、LIMIT是处理后限制返回记录数量,不是选择行数再去处理。如果想选择100行然后查询,可以使用子查询。

SELECT app_id,
       uri
  FROM (
        SELECT *
          FROM table_name
         LIMIT 1000
       ) AS limited_data

 

posted @ 2024-07-05 10:56  zhegeMaw  阅读(30)  评论(0)    收藏  举报