MySQL数据库之单表记录查询

目录

前言:

一:排序查询

二:限制查询结果的数量

三: 使用聚合函数查询


前言:

数据查询是MySQL数据库管理系统的一个重要功能,它不仅可以将数据库中的数据查询出来,还可以根据特定条件对数据进行筛选,并确定查询结果的显示格式。简单来说,可以将数据查询分为单表查询和多表查询两大类。这里主要介绍灵活使用功能强大的SELECT查询语句实现单表数据记录查询。

首先查看一下我们需要用到的数据表:

一:排序查询

如果需要将查询结果按照指定的顺序排列的话,可以使用ORDER BY 关键字,语法形式如下:

select {*|col-list} from table-name order by col-namea [asc|desc];

该语句的意义是:按照字段col_namea 对查询记录进行排序,col_namea 可以作为一个或多个字段,当有多个字段时,各个字段之间要用英文状态下的逗号隔开;字段后面的参数 asc 代表进行升序进行排序;desc 代表降序进行排序。如果没有 asc 和 desc 的话,就会默认按照升序排序。

 1:在fruits表中按照price 和num字段排序

select * from goods order by price,num;

2:按num字段排序,默认为升序排序

 select * from goods order by num;

3:按照num的升序和add-time的降序

select * from goods order by num asc,add_time desc;

4:按照price 的降序排序

 select *from goods order by price desc;

二:限制查询结果的数量

在实际应用中,数据库中的数据量通常都非常大,此时就要用到 limit 关键字来限制返回的记录数量:

select{*|col_list} from table_name limit [offset_start,]row_count;

该语句中“offset_start” 表示起始位置,用于指定从哪一行开始,不指定就默认为0,即从数据表的第一行记录进行查询;row_count 代表查询出来的记录数,让我们通过一些实例来熟悉一下limit 关键字的用法叭~

5:限制查询记录的数量为三条

select * from goods limit 3;

 6:按照price 的降序排序和num 的降序排序,并限制返回数量为第一条记录开始,总条数为4条

 select * from goods order by price desc,num desc limit 0,4;

7:从第三条记录开始查询,返回总条数为三

 select * from goods limit 2,3;

8:从第二条记录查询,返回条数为三

 select * from goods limit 1,3;

三: 使用聚合函数查询

MySQL所支持的聚合函数

COUNT()

计算表中记录的总条数
SUM()计算字段的总和
AVG()计算字段值的平均值
MAX()查询表中字段值的最大值
MIN()查询表中字段值的最小值

10:查询goods 表中的总记录条数以及num 和add-time 的总记录条数

 select count(*),count(num),count(add_time) from goods;

11:查询goods 表中总记录条数以及num、name、type、add-time 的总条数

 select count(*),count(num),count(name),count(type),count(add_time) from goods;

12:group by 用于分组查询查询goods 表中的price 的总和,并返回总和大于100的记录

 select type,sum(price) from goods group by type having sum(price)>100;

13:查询goods 表中num字段的总数

 select sum(num) goods_num from goods;

14:查询goods 表中的price 平均数,并返回price 总数小于10的记录

 select type,avg(price) from goods group by type having sum(price)<10;

15:执行SOQ语句,将goods 表中的记录按照type 和 num 字段进行分组并统计,显示每个分组中商品类别、库存、商品名称和商品数量

 select type,num,group_concat(name),count(name) from goods group by type,num;

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: MySQL数据库单表查询(三)可以使用以下语句实现: 1. SELECT DISTINCT 列名 FROM 表名; 这句话可以查询不重复的值。 2. SELECT 列名1, 列名2 FROM 表名 WHERE 条件; 这句话可以查询满足条件的记录,并显示指定列。 3. SELECT COUNT(列名) FROM 表名; 这句话可以统计表记录的数量。 4. SELECT SUM(列名) FROM 表名; 这句话可以求和表某一列的值。 5. SELECT AVG(列名) FROM 表名; 这句话可以求平均值表某一列的值。 6. SELECT MAX(列名) FROM 表名; 这句话可以查询某一列的最大值。 7. SELECT MIN(列名) FROM 表名; 这句话可以查询某一列的最小值。 8. SELECT 列名 FROM 表名 ORDER BY 列名 [ASC|DESC]; 这句话可以对表记录进行排序。 9. SELECT 列名 FROM 表名 LIMIT 开始位置, 显示记录数; 这句话可以限制结果显示的记录数。 ### 回答2: 在MySQL数据库单表查询的第三篇,我们将学习适用于单表查询的一些高级查询技巧,使我们能够更有效地查询数据和优化查询性能。 1.使用DISTINCT关键字去除重复记录 在某些情况下,我们需要查询出一张表的不重复的记录,此时可以使用DISTINCT关键字。DISTINCT关键字用于筛选出不同的值,查询所返回的结果集将去除重复数据。例如: SELECT DISTINCT name FROM student; 以上语句将会返回不同的name值。 2.使用ORDER BY排序查询结果 如果我们需要按照某个字段的值进行排序,就可以使用ORDER BY子句来实现。ORDER BY关键字默认按照升序排列,如果需要降序排列可以使用DESC关键字。例如: SELECT * FROM student ORDER BY age DESC; 以上查询语句将会按照age列的降序排列返回结果集。 3.使用LIMIT限制查询结果集的数量 当我们进行大量数据的查询时,使用LIMIT关键字来限制返回结果集的数量是一个非常有效的方法。 LIMIT子句用于指定查询的起始行和数据行数。例如: SELECT * FROM student LIMIT 10,5; 以上查询语句将返回从第11行开始的5行数据。 4.使用聚合函数查询数据 在MySQL有五种聚合函数:COUNT、SUM、AVG、MAX、MIN。聚合函数用于对数据进行统计和计算。例如: SELECT COUNT(*) FROM student; 以上查询语句将返回student表记录数。 5.使用分组查询数据 GROUP BY子句用于将结果集按照指定列进行分组,一般与聚合函数一起使用。例如: SELECT age,COUNT(*) FROM student GROUP BY age; 以上查询语句将根据年龄对学生表进行分组,并统计每个年龄段学生的人数。 总之,单表查询MySQL数据库的重要部分,学习以上高级查询技巧能够更好地提高我们的查询效率和结果的准确性。 ### 回答3: MySQL数据库单表查询是指在一个表进行数据查询和筛选的操作。在进行单表查询的时候,需要注意一些基础的SQL语法和查询技巧。本文将介绍MySQL数据库单表查询的一些高级用法。 1. 条件查询 条件查询单表查询最常用也最基础的一种查询方法。通过“WHERE”子句来限定查询的范围和条件,如: SELECT * FROM students WHERE age > 18; 这条语句将查询年龄大于18岁的学生信息。 同时,还可以使用“AND”和“OR”等逻辑运算符来组合多个查询条件: SELECT * FROM students WHERE age > 18 AND (gender = 'male' OR grade > 80); 这条语句将查询年龄大于18岁、并且性别为男性,或者成绩大于80分的学生信息。 2. 模糊查询 模糊查询是指在查询数据时,使用通配符匹配特定字符或字符串的查询方式。在MySQL,常用的通配符有"%"和“_”,其,"%"代表零个或多个字符,"_"代表一个字符。如: SELECT * FROM students WHERE name LIKE '%张%'; 这条语句将查询名字包含“张”字符的学生信息。 3. 排序查询 排序查询是指按照某一列的值来对查询结果进行排序的操作。在MySQL,通过“ORDER BY”子句来实现对查询结果的排序。如: SELECT * FROM students ORDER BY grade DESC; 这条语句将查询所有学生的信息,并按照成绩从高到低进行排序。 4. 分组查询 分组查询是指将数据按照某一列的值进行分组,并对每一组的数据进行统计分析的操作。在MySQL,通过“GROUP BY”子句实现分组操作。如: SELECT grade, COUNT(*) FROM students GROUP BY grade; 这条语句将根据学生的成绩进行分组,并统计每组的学生数量。 5. 连接查询 连接查询是指在两个或多个表之间进行查询,通过关联查询得到所有相关数据的查询方式。在MySQL,通过“JOIN”关键字实现表之间的连接。如: SELECT * FROM students JOIN scores ON students.id = scores.student_id; 这条语句将查询学生的信息和他们的成绩信息,同时通过“ON”子句将两个表进行关联查询。 综上所述,MySQL数据库单表查询有很多复杂的查询方式,包括条件查询、模糊查询、排序查询、分组查询和连接查询等。在实际使用需要根据具体情况选择合适的查询方式,提高查询效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值