1.方法概览

java实现按照两个字段对数据进行分组 java分组查询_MySQL自学教程

一下查询使用queryDemo数据库中的demo1student表格,信息如下:

java实现按照两个字段对数据进行分组 java分组查询_MySQL自学教程_02


2.字段控制查询

java实现按照两个字段对数据进行分组 java分组查询_MySQL自学教程_03

代码演示

-- 5.字段控制查询distinct

    -- 语句含义:去除表格中id,name,age,score完全一样的学生
    SELECT DISTINCT* FROM demo1student;

    -- 语句含义:去除表格中姓名一样的学生
    SELECT DISTINCT NAME FROM demo1student;
    -- 语句含义:去除表格中年龄一样的学生
    SELECT DISTINCT age FROM demo1student;

查询结果

1)– 语句含义:去除表格中id,name,age,score完全一样的学生

SELECT DISTINCT* FROM demo1student;

因为没有完全一样的,所以显示所有信息:

java实现按照两个字段对数据进行分组 java分组查询_数据库查询语句_04

2)– 语句含义:去除表格中姓名一样的学生

SELECT DISTINCT NAME FROM demo1student;

java实现按照两个字段对数据进行分组 java分组查询_mysql_05

3)– 语句含义:去除表格中年龄一样的学生

SELECT DISTINCT age FROM demo1student;

java实现按照两个字段对数据进行分组 java分组查询_mysql_06


3.聚合函数查询

java实现按照两个字段对数据进行分组 java分组查询_MySQL自学教程_07

代码演示

-- 6.聚合函数
-- count(),sum(),avg(),max(),min()
-- 学生中最高分数
SELECT MAX(score) FROM demo1student;
-- 学生中最高分数
SELECT MIN(score) FROM demo1student;
-- 学生中平均分数
SELECT AVG(score) FROM demo1student;
-- 学生人数
SELECT COUNT(*) FROM demo1student;

查询结果

1)– 学生中最高分数

SELECT MAX(score) FROM demo1student;

java实现按照两个字段对数据进行分组 java分组查询_MySQL自学教程_08

2)– 学生中最高分数

SELECT MIN(score) FROM demo1student;

java实现按照两个字段对数据进行分组 java分组查询_DQL_09

3)– 学生中平均分数

SELECT AVG(score) FROM demo1student;

java实现按照两个字段对数据进行分组 java分组查询_数据库查询语句_10

4)– 学生人数

SELECT COUNT(*) FROM demo1student;

java实现按照两个字段对数据进行分组 java分组查询_DQL_11


4.分组查询

java实现按照两个字段对数据进行分组 java分组查询_mysql_12

sql语句

-- 7.分组查询 group by   having
     -- 语句含义:根据性别分组,并统计每个组有少人
     SELECT gender,COUNT(*) FROM demo1student GROUP BY gender;

     -- 语句含义:根据性别分组,取出性别为female的人,再统计个数
     SELECT gender,COUNT(*) FROM demo1student GROUP BY gender HAVING gender="female";

查询结果:

1) – 语句含义:根据性别分组,并统计每个组有少人

SELECT gender,COUNT(*) FROM demo1student GROUP BY gender;

java实现按照两个字段对数据进行分组 java分组查询_MySQL自学教程_13

2)– 语句含义:根据性别分组,取出性别为female的人,再统计个数

SELECT gender,COUNT(*) FROM demo1student GROUP BY gender HAVING gender="female";

java实现按照两个字段对数据进行分组 java分组查询_数据库查询语句_14


5.limit

LIMIT用来限定查询结果的起始行,以及总行数

SQL语句

-- 8.limit  作用:分页
   -- 从数据表中第4条数据开始显示,每页显示三条数据
   SELECT * FROM demo1student LIMIT 3,5;

查询结果:

java实现按照两个字段对数据进行分组 java分组查询_数据库查询语句_15