SQL命令--排序和聚合函数的使用

sql的查询–排序

(1)什么是排序

order by

(2)如何排序

首先,order by是用来写在where之后,给多个字段来排序的一个DQL查询语句。

其次,order by写法:

  1. select 字段列表/* from 表名 where 条件 order by 字段名1 asc/desc, 字段名2
    asc/desc,…
  2. select 字段列表/* from 表名 where 条件 order by 字段序号 asc/desc, 字段序号 asc/desc,… (此时字段序号要从1开始)
  3. select 字段列表/* from 表名 where 条件 order by 字段别名1 asc/desc, 字段别名2 asc/desc,…(这里类似于第一种,无非就是把字段名加了个别名来代替而已.

然后,order by的方式:
1.asc 升序,可以省略,是数据库默认的排序方式
2.desc 降序,跟升序相反。

最后要注意order by的原则,写在最前面的字段,他的优先级最高,也就是写法中第一个的字段名1的优先级最高,优先执行他的内容。

  >1、使用价格升序(降序),-->可以指定一个列
SELECT * FROM products ORDER BY price DESC;

在这里插入图片描述

>2、在价格排序(升序)的基础上,以分类排序(降序)-->可以指定多个列
SELECT * FROM products ORDER BY price ASC,category_id DESC;

在这里插入图片描述

>3、显示商品的价格(去重),并排序(降序),--》DISTINCT去掉重复
SELECT DISTINCT price FROM products ORDER BY price DESC;

在这里插入图片描述

(3)特点

  • 指定列
  • 指定升序或者降序
  • order by 排序只对数字和英文字符串有效,对汉字无效
  • 可以指定一个或者多个列作为排序条件

(4)字典顺序

admin about

sql的查询- 聚合函数

(1)什么是聚合函数?

聚合函数(类似于Java中的方法: 函数名())

(2)哪些是常用聚合函数?

五个聚合函数:

扫描二维码关注公众号,回复: 11901589 查看本文章
  • count:统计指定列不为NULL的记录行数;(如:统计pname列的行数,如果有NULL值,则不统计)
  • sum:计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0;
  • max:计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;
  • min:计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算;
  • avg:计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0;

(3)语句执行顺序

from ->where ->count(*)

>1 查询商品的总条数
SELECT COUNT(pname) FROM products;  统计pname列的行数,如果有NULL值,则不统计
SELECT COUNT(*) FROM products; 

在这里插入图片描述

>2 查询价格大于200商品的总条数![在这里插入图片描述](https://img-blog.csdnimg.cn/20200923153435604.png#pic_center)

SELECT * FROM products WHERE price > 200;

Alt

>3 查询分类为2的所有商品的总和
SELECT SUM(price) FROM products WHERE category_id = 2;

在这里插入图片描述

>4 查询分类为'c002'所有商品的平均价格
SELECT AVG(price) FROM products WHERE category_id = 2;

Alt

>5 查询商品的最大价格和最小价格
SELECT MAX(price) '最大价格',MIN(price) '最小价格' FROM products;

Alt

猜你喜欢

转载自blog.csdn.net/qq_41209886/article/details/108748787