首页 > 其他分享 >having

having

时间:2024-03-10 21:45:35浏览次数:15  
标签:... 数据库 分组 表名 TABLE having 字段名

一、用法

和group by 一起使用,分组后再进行条件过滤就用到having了。

GROUP BY 分组字段名 HAVING 分组后过滤条件

二、和WHERE的区别

1where是分组之前进行过滤,不满足where条件的数据不参与分组,而having是分组之后对分组结果进行过滤。

2.where不能对聚合函数进行判断,having可以。

1.查询数据库

#查询所有数据库
SHOW DATABASES;

#查询当前数据库
SELECT DATABASE();

2.创建数据库

CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则]; 

3.删除数据库

DROP DATABASE [IF EXISTS] 数据库名;

4.使用数据库

USE 数据库名;

二、DDL-表操作

1.查询表

#查询当前数据库所有表
SHOW TABLES;

#查询表结构
DESC 表名;

#查询指定表的建表语句
SHOW CREATE TABLE 表名;

2.创建表

CREATE TABLE 表名(
     字段1 类型 [COMMENT 注释],
     字段2 类型 [COMMENT 注释],
     ...
     字段N 类型 [COMMENT 注释]
)[COMMENT 表注释]

3.修改表名

ALTER TABLE 表名 RENAME TO 新表名;

4.删除表

DROP TABLE [IF EXISTS] 表名;

#删除表并重新创建该表
TRUNCATE TABLE 表名;

5.修改字段

#修改数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);

#修改字段名和字段类型
ALTER TABLE CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];

6.删除字段

ALTER TABLE 表名 DROP 字段名;

三、DML-添加/修改/删除数据

1.添加数据

#单条数据
#指定字段
INSERT INTO 表名 (字段名1,字段名2,...) VALUES(值1,值2,...);
#全部字段
INSERT INTO 表名 VALUES(值1,值2,...);

#批量
#指定字段
INSERT INTO 表名 (字段名1,字段名2,...) VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...);
#全部字段
INSERT INTO 表名 VALUES(值1,值2,...),(值1,值2,...),(值1,值2,...);

2.修改数据

UPDATE 表名 SET 字段名1=值1,字段名2=值2,...[WHERE 条件]

3.删除数据

DELETE FROM 表名 [WHERE 条件]

四、DQL-查询数据

1.语法

SELECT   字段
FROM     表名
WHERE    条件
GROUP BY 分组字段
HAVING   分组后条件
ORDER BY 排序字段
LIMIT    分页参数

标签:...,数据库,分组,表名,TABLE,having,字段名
From: https://www.cnblogs.com/cheng8/p/18064878

相关文章

  • SQL HAVING 子句详解:在 GROUP BY 中更灵活的条件筛选
    SQLHAVING子句HAVING子句被添加到SQL中,因为WHERE关键字不能与聚合函数一起使用。HAVING语法SELECTcolumn_name(s)FROMtable_nameWHEREconditionGROUPBYcolumn_name(s)HAVINGconditionORDERBYcolumn_name(s);演示数据库以下是Northwind示例数据库中“Customers......
  • SQL HAVING 子句详解:在 GROUP BY 中更灵活的条件筛选
    SQLHAVING子句HAVING子句被添加到SQL中,因为WHERE关键字不能与聚合函数一起使用。HAVING语法SELECTcolumn_name(s)FROMtable_nameWHEREconditionGROUPBYcolumn_name(s)HAVINGconditionORDERBYcolumn_name(s);演示数据库以下是Northwind示例数据库中“Customers......
  • 软件测试|MySQL HAVING分组筛选详解
    简介在MySQL数据库中,HAVING子句用于在使用GROUPBY子句对结果进行分组后,对分组后的数据进行筛选和过滤。它允许我们对分组后的结果应用聚合函数,并基于聚合函数的结果进行条件过滤,从而得到我们需要的最终结果集。本文将详细介绍HAVING子句的用法,并提供一些实际示例以帮助大......
  • mysql中select、from、where、group by、having、order by 、limit执行顺序
    语法顺序:select->from->where->groupby->having->orderby->limit执行顺序:from-->where-->groupby-->having-->select-->orderby-->limit1)from子句组装来自不同数据源的数据;2)使用on进行join连接的数据筛选3)where子句基于指定的条件对记录行进行筛选;4)groupby子......
  • 求平均工资大于2500的部门平均工资是 having 新面孔比where强大的地方就在于它可以跟
       ---------------------------- ......
  • having 它和group是成对出现的,没有group by就没有having
      注重效率  ......
  • HAVING 使用 和 两个之间更新(笔记)
    SELECTAPPROVAL_ID,count(STATION_SNAP_ID)fromT_INVEST_STATION_APLwhereAPPROVAL_IDin(selectDISTINCTPROJECT_IDfromT_ARCHIVE_DETAILwhereDATA_TYPEin('1','2','3'))andIS_DEL='0'GROUPBYAPPROVAL_IDHAVIN......
  • sql之having关键字的使用
    Havinghaving主要用于过滤groupby之后的聚合函数例如:现在有user表user_ididcardnameage112345张三18212345张三18354321李四20可以利用having查询出重复的字段数selectuser.idcard,count(*)fromuser......
  • 无涯教程-Derby - Having语句
    HAVING子句使您可以指定条件,以过滤出哪些组输出出现在输出中。WHERE子句将条件放置在所选列上,而HAVING子句将条件放置在GROUPBY子句创建的组上。Having-语法以下是HAVING子句的语法-ij>SELECTcolumn1,column2...fromtable_nameGROUPBYcolumnhavingcondition;......
  • mysql having多个条件
    groupby的个bai数,和having的个数没有什么必然的联系,groupby后面du可以跟多个zhi字段,同样你如果有多个聚合计算dao,当然having后面也可以跟多个聚合条件比如:selectname名字,sum(record)分数,avg(average)平均数fromstudentgroupbynamehavingsum(record)>xxxxxxa......