PostgreSQL ORDER BY 语句:对一列或多列数据进行升序(ASC)或降序(DESC)排列。

在 PostgreSQL 中,ORDER BY 用于对一列或者多列数据进行升序(ASC)或者降序(DESC)排列。

//ORDER BY 子句的基础语法如下:
SELECT column-list
FROM table_name
[WHERE condition]
[ORDER BY column1, column2, .. columnN] [ASC | DESC];

您可以在 ORDER BY 中使用一列或者多列,但是必须保证要排序的列必须存在。
ASC 表示升序,DESC 表示降序。
实例:

mydb=# select * from COMPANY;id | name  | age |                      address                       | salary | join_date
----+-------+-----+----------------------------------------------------+--------+------------4 | Mark  |  25 | Rich-Mond                                          |  65000 | 2007-12-135 | David |  27 | Texas                                              |  85000 | 2007-12-133 | Teddy |  23 | Norway                                             |  20000 |2 | Allen |  25 | Texas                                              |        | 2007-12-131 | Paul  |  32 | California                                         |  20000 | 2001-07-13
(5 行记录)//将对结果根据 AGE 字段值进行升序排列:
mydb=# SELECT * FROM COMPANY ORDER BY AGE ASC;id | name  | age |                      address                       | salary | join_date
----+-------+-----+----------------------------------------------------+--------+------------3 | Teddy |  23 | Norway                                             |  20000 |4 | Mark  |  25 | Rich-Mond                                          |  65000 | 2007-12-132 | Allen |  25 | Texas                                              |        | 2007-12-135 | David |  27 | Texas                                              |  85000 | 2007-12-131 | Paul  |  32 | California                                         |  20000 | 2001-07-13
(5 行记录)//将对结果根据 NAME 字段值和 SALARY 字段值进行升序排序:
mydb=# SELECT * FROM COMPANY ORDER BY NAME, SALARY ASC;id | name  | age |                      address                       | salary | join_date
----+-------+-----+----------------------------------------------------+--------+------------2 | Allen |  25 | Texas                                              |        | 2007-12-135 | David |  27 | Texas                                              |  85000 | 2007-12-134 | Mark  |  25 | Rich-Mond                                          |  65000 | 2007-12-131 | Paul  |  32 | California                                         |  20000 | 2001-07-133 | Teddy |  23 | Norway                                             |  20000 |
(5 行记录)//将对结果根据NAME字段值进行降序排列:
mydb=# SELECT * FROM COMPANY ORDER BY NAME DESC;id | name  | age |                      address                       | salary | join_date
----+-------+-----+----------------------------------------------------+--------+------------3 | Teddy |  23 | Norway                                             |  20000 |1 | Paul  |  32 | California                                         |  20000 | 2001-07-134 | Mark  |  25 | Rich-Mond                                          |  65000 | 2007-12-135 | David |  27 | Texas                                              |  85000 | 2007-12-132 | Allen |  25 | Texas                                              |        | 2007-12-13
(5 行记录)

PostgreSQL GROUP BY 语句:与SELECT 语句一起使用,对相同的数据进行分组

在 PostgreSQL 中,GROUP BY 语句和 SELECT 语句一起使用,用来对相同的数据进行分组。
注意:GROUP BY 在一个 SELECT 语句中,放在 WHRER 子句的后面,ORDER BY 子句的前面。

//下面给出了 GROUP BY 子句的基本语法:
SELECT column-list
FROM table_name
WHERE [ conditions ]
GROUP BY column1, column2....columnN
ORDER BY column1, column2....columnN

注意:GROUP BY 子句必须放在 WHERE 子句中的条件之后,必须放在 ORDER BY 子句之前。
在 GROUP BY 子句中,你可以对一列或者多列进行分组,但是被分组的列必须存在于列清单中。

mydb=# select * from COMPANY;id | name  | age |                      address                       | salary | join_date
----+-------+-----+----------------------------------------------------+--------+------------4 | Mark  |  25 | Rich-Mond                                          |  65000 | 2007-12-135 | David |  27 | Texas                                              |  85000 | 2007-12-133 | Teddy |  23 | Norway                                             |  20000 |2 | Allen |  25 | Texas                                              |        | 2007-12-131 | Paul  |  32 | California                                         |  20000 | 2001-07-13
(5 行记录)//将根据 NAME 字段值进行分组,找出每个人的工资总额:
mydb=# SELECT NAME, SUM(SALARY) FROM COMPANY GROUP BY NAME;name  |  sum
-------+-------Teddy | 20000David | 85000Paul  | 20000Mark  | 65000Allen |
(5 行记录)//在 CAMPANY 表中添加几条记录后:
mydb=# select * from COMPANY;id | name  | age |                      address                       | salary | join_date
----+-------+-----+----------------------------------------------------+--------+------------4 | Mark  |  25 | Rich-Mond                                          |  65000 | 2007-12-135 | David |  27 | Texas                                              |  85000 | 2007-12-133 | Teddy |  23 | Norway                                             |  20000 |2 | Allen |  25 | Texas                                              |        | 2007-12-131 | Paul  |  32 | California                                         |  20000 | 2001-07-138 | Paul  |  24 | Houston                                            |  20000 |6 | pasl  |  24 | Hou                                                |  20000 |7 | lili  |  23 | hy                                                 |  10000 |9 | James |  44 | Norway                                             |   5000 |10 | James |  45 | Texas                                              |   5000 |
(10 行记录)//根据 NAME 字段值进行分组,找出每个客户的工资总额:
mydb=# SELECT NAME, SUM(SALARY) FROM COMPANY GROUP BY NAME;name  |  sum
-------+-------Teddy | 20000lili  | 10000pasl  | 20000David | 85000Paul  | 40000Mark  | 65000Allen |James | 10000
(8 行记录)//将 ORDER BY 子句与 GROUP BY 子句一起使用:
mydb=# SELECT NAME, SUM(SALARY) FROM COMPANY GROUP BY NAME ORDER BY sum ASC;name  |  sum
-------+-------lili  | 10000James | 10000Teddy | 20000pasl  | 20000Paul  | 40000Mark  | 65000David | 85000Allen |
(8 行记录)

PgSQL——学习笔记八: ORDER BY 子句:排序 GROUP BY 语句:分组相关推荐

  1. opencv学习笔记八--答题卡识别

    opencv学习笔记八--答题卡识别 导入工具包 定义函数 扫描 自适应阈值处理 检测每一个选项的轮廓 对轮廓进行排序以获取序号 打印结果 参考 导入工具包 #导入工具包 import numpy a ...

  2. ReactJS学习笔记八:动画

    ReactJS学习笔记八:动画 分类: react学习笔记 javascript2015-07-06 20:27 321人阅读 评论(0) 收藏 举报 react动画 目录(?)[+] 这里只讨论Re ...

  3. Hadoop学习笔记—11.MapReduce中的排序和分组

    Hadoop学习笔记-11.MapReduce中的排序和分组 一.写在之前的 1.1 回顾Map阶段四大步骤 首先,我们回顾一下在MapReduce中,排序和分组在哪里被执行: 从上图中可以清楚地看出 ...

  4. 【opencv学习笔记八】创建TrackBar轨迹条

    createTrackbar这个函数我们以后会经常用到,它创建一个可以调整数值的轨迹条,并将轨迹条附加到指定的窗口上,使用起来很方便.首先大家要记住,它往往会和一个回调函数配合起来使用.先看下他的函数 ...

  5. python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑

    python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑 许多人在安装Python第三方库的时候, 经常会为一个问题困扰:到底应该下载什么格式的文件? 当我们点开下载页时, 一 ...

  6. ROS学习笔记八:创建ROS msg和srv

    ROS学习笔记八:创建ROS msg和srv 本节主要讲述了如何创建和建立ROS msg和srv,同时使用命令行工具rosmsg.rossrv和roscp. msg和srv简介 msg:描述ROS m ...

  7. Halcon 学习笔记八:颜色识别

    Halcon 学习笔记八:颜色识别 一.图像处理需要的知识 二.图像处理的预处理和分割过程 二.颜色识别的方法 三.例子一 四.例子二 五.例子三 一.图像处理需要的知识 1.图像处理基础(rgb(h ...

  8. ZooKeeper学习笔记(八):ZooKeeper集群写数据原理

    写数据原理 写流程直接请求发送给Leader节点 这里假设集群中有三个zookeeper服务端 ACK (Acknowledge character)即是确认字符,在数据通信中,接收站发给发送站的一种 ...

  9. MongoDB 学习笔记八 复制、分片、备份与恢复、监控

    MongoDB 学习笔记八 复制.分片.备份与恢复.监控 MongoDB复制(副本集) 什么是复制? MongoDB 复制原理 MongoDB 副本集设置 副本集添加成员 MongoDB 分片 分片 ...

最新文章

  1. 用Qt 4.4编写drcom的GUI (转)
  2. 不动产登记证书曝光 一个“改变”必须注意(图)
  3. maven 打包jar lib
  4. java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.LoopTag 错误
  5. layer 同步调用_关于Layer组件的同步以及减少GPU带宽的问题
  6. WordPress广告管理插件Adning Advertising1.5.8汉化版
  7. 渗透专用linux镜像,安装DVWA渗透环境到CentOS7系统中(附百度云ova镜像下载)-Go语言中文社区...
  8. ITester软件测试小栈,点击领取你的能量值!
  9. Visual Studio 2019 集成CefSharp
  10. python多行注释出错_python 有多行注释运行报错
  11. 微信开放平台开发第三方授权登陆(一):开发前期准备
  12. 如何快速看懂英文论文?
  13. WIN10系统菜单键按下无反应解决办法
  14. nfc门禁卡的复制和迁移
  15. 高中OJ3502. 【NOIP2013模拟11.4B组】方格游戏(game)
  16. DataCastle[职位预测竞赛]冠军——我们都爱苍老师
  17. 问题:微信小程序开发之 --- app.js文件介绍
  18. CUDA的Occupancy和Achieved Occupancy概念
  19. R 中将图表导出成文件
  20. ​为什么冠状病毒的死亡率具有误导性?

热门文章

  1. 计算机专业综合素质试题答案,2015中学教师资格证考试试题及答案《综合素质》(4)...
  2. 2018 WAIC |最强阵容!各界大咖齐聚,推动视觉智能全领域发展
  3. [向量] 点积应用-两个向量夹角
  4. FPGA 中的有符号数乘法
  5. HC-SR04超声波测距模块使用方法和例程(STM32)
  6. 出现java.sql.SQLException: Subquery returns more than 1 row错误的原因,解决方法
  7. 关于MathType蓝多多的备忘录
  8. 推荐中的ctr校准方式
  9. php繁体网站配置,php网页是繁体字怎么办
  10. 数据库之快照读与当前读