SQL Sever 基础知识 - 数据排序
SQL Sever 基础知识 - 二 、数据排序
- 二 、对数据进行排序
- 第1节 ORDER BY 子句简介
- 第2节 ORDER BY 子句示例
- 2.1 按一列升序对结果集进行排序
- 2.2 按一列降序对结果集进行排序
- 2.3 按多列对结果集排序
- 2.4 按多列对结果集不同排序
- 2.5 按不在选择列表中的列对结果集进行排序
- 2.6 按表达式对结果集排序
- 2.7 按列的顺序位置排序
更多SQL Sever基础知识可查看:SQL Sever 基础知识(全)
特别说明:
本文章所用的所有数据库、数据表及其数据皆为AI随机生成,不涉及个人隐私,且仅供学习使用!
二 、对数据进行排序
按一列或多列对查询的结果集进行排序。
第1节 ORDER BY 子句简介
使用 SELECT 语句从表中查询数据时,结果集中的行的顺序不能保证。说明SQL Server可以返回具有未指定行顺序的结果集,确保结果集中的行已排序的唯一方法是使用 ORDER BY 子句。
以下说明 ORDER BY 子句语法:
select <列名1>,<列名2>,...from [表名]order by <列名> [ASC|DESC]; --asc升序排序(默认,可省略);desc降序排序
order by指定一个列名或表达式,根据该列名或表达式对查询的结果集进行排序。如果指定多列,则结果集按第一列排序,然后按第二列排序该排序结果集,依此类推。
出现在order by子句中的列必须对应于选择列表中的列或在 form 子句中指定的表中定义的列。
使用 ASC 或 DESC 指定指定列中的值是否应按升序或降序排序。如果没有显式指定 ASC 或 DESC ,将使用 ASC 作为默认排序顺序。
此外,SQL Server将NULL视为最小值。
第2节 ORDER BY 子句示例
2.1 按一列升序对结果集进行排序
查询ZCustomers表中所有客户姓名,并升序排序:
select cust_name from ZCustomersorder by cust_name
没有指定 ASC 或 DESC ,所以 ORDER BY 子句默认使用 ASC 。
执行结果:

2.2 按一列降序对结果集进行排序
查询ZCustomers表中所有客户姓名,并降序排序:
select cust_name from ZCustomersorder by cust_name desc
执行结果:

2.3 按多列对结果集排序
查询ZCustomers表中所有客户的名字和城市。它先按城市然后按名字对客户列表进行排序:
select cust_city,cust_name,cust_addressfrom ZCustomersorder by cust_city,cust_name
执行结果:

2.4 按多列对结果集不同排序
查询ZCustomers表中所有客户的名字和城市。它先按城市升序然后按名字降序对客户列表进行排序:
select cust_city,cust_name,cust_addressfrom ZCustomersorder by cust_city,cust_name desc
执行结果:

2.5 按不在选择列表中的列对结果集进行排序
可以按未出现在选择列表中的列对结果集进行排序。查询ZCustomers表中所有客户的名字和城市,对cust_zip升序排列:
select cust_city,cust_name,cust_addressfrom ZCustomersorder by cust_zip
执行结果:

Note:
order by后列是在表中有定义的;如果未定义,则查询无效。
2.6 按表达式对结果集排序
用到一个LEN( )函数,LEN( )函数的作用是:返回字符串中的字符数。
以下语句使用 ORDER BY 子句中的 LEN( ) 函数检索按名字长度排序的客户列表:
select cust_city,cust_name,cust_addressfrom ZCustomersorder by len(cust_name)
执行结果:

2.7 按列的顺序位置排序
SQLServer允许根据选择列表中出现的列的序号位置对结果集进行排序。
查询ZCustomers表中所有客户的名字和城市。它先按城市升序然后按名字降序对客户列表进行排序:
select cust_city,cust_name,cust_addressfrom ZCustomersorder by 1 ,2 desc
执行结果:

在此示例中,1表示 cust_city列,2表示 cust_name列。
不推荐 在 ORDER BY 子句中使用列的顺序位置排序,原因有两个:
①表中的列没有顺序位置,需要通过名称引用。
②当修改选择列表后可能会忘记在 ORDER BY 子句中进行相应的更改。
因此,最好始终在 ORDER BY 子句中显式指定列名。
相关文章:
SQL Sever 基础知识 - 数据排序
SQL Sever 基础知识 - 二 、数据排序 二 、对数据进行排序第1节 ORDER BY 子句简介第2节 ORDER BY 子句示例2.1 按一列升序对结果集进行排序2.2 按一列降序对结果集进行排序2.3 按多列对结果集排序2.4 按多列对结果集不同排序2.5 按不在选择列表中的列对结果集进行排序2.6 按表…...
vscode配置使用 cpplint
标题安装clang-format和cpplint sudo apt-get install clang-format sudo pip3 install cpplint标题以下settings.json文件放置xxx/Code/User目录 settings.json {"sync.forceDownload": false,"workbench.sideBar.location": "right","…...
C++ 系列 第四篇 C++ 数据类型上篇—基本类型
系列文章 C 系列 前篇 为什么学习C 及学习计划-CSDN博客 C 系列 第一篇 开发环境搭建(WSL 方向)-CSDN博客 C 系列 第二篇 你真的了解C吗?本篇带你走进C的世界-CSDN博客 C 系列 第三篇 C程序的基本结构-CSDN博客 前言 面向对象编程(OOP)的…...
C++ 指针详解
目录 一、指针概述 指针的定义 指针的大小 指针的解引用 野指针 指针未初始化 指针越界访问 指针运算 二级指针 指针与数组 二、字符指针 三、指针数组 四、数组指针 函数指针 函数指针数组 指向函数指针数组的指针 回调函数 指针与数组 一维数组 字符数组…...
.locked、locked1勒索病毒的最新威胁:如何恢复您的数据?
导言: 网络安全问题变得愈加严峻。.locked、locked1勒索病毒是近期备受关注的一种恶意软件,给用户的数据带来了巨大威胁。本文将深入探讨.locked、locked1勒索病毒的特征,探讨如何有效恢复被其加密的数据,并提供一些建议…...
Apache Sqoop使用
1. Sqoop介绍 Apache Sqoop 是在 Hadoop 生态体系和 RDBMS 体系之间传送数据的一种工具。 Sqoop 工作机制是将导入或导出命令翻译成 mapreduce 程序来实现。在翻译出的 mapreduce 中主要是对 inputformat 和 outputformat 进行定制。 Hadoop 生态系统包括:HDFS、Hi…...
【UGUI】实现UGUI背包系统的六个主要交互功能
在这篇教程中,我们将详细介绍如何在Unity中实现一个背包系统的六个主要功能:添加物品、删除物品、查看物品信息、排序物品、搜索物品和使用物品。让我们开始吧! 一、添加物品 首先,我们需要创建一个方法来添加新的物品到背包中。…...
电压驻波比
电压驻波比 关于IF端口的电压驻波比 一个信号变频后,从中频端口输出,它的输出跟输入是互异的。这个电压柱波比反映了它输出的能量有多少可以真正的输送到后端连接的器件或者设备。...
Open3D 最小二乘拟合二维直线(直接求解法)
目录 一、算法原理二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。爬虫网站自重。 一、算法原理 平面直线的表达式为: y = k x + b...
面试题目总结(二)
1. IoC 和 AOP 的区别 控制反转(Ioc) 和面向切面编程(AOP) 是两个不同的概念,它们在软件设计中有着不同的应用和目的。 IoC 是一种基于对象组合的编程模式,通过将对象的创建、依赖关系和生命周期等管理权交给外部容器或框架来实现程序间的解耦。IoC 的…...
TrustZone概述
目录 一、概述 1.1 在开始之前 二、什么是TrustZone? 2.1 Armv8-M的TrustZone 2.2 Armv9-A Realm Management Ext...
[go 面试] Go Kit中读取原始HTTP请求体的方法
关注公众号【爱发白日梦的后端】分享技术干货、读书笔记、开源项目、实战经验、高效开发工具等,您的关注将是我的更新动力! 在Go Kit中,如果你想读取未序列化的HTTP请求体,可以使用标准的net/http包来实现。以下是一个示例,演示了如何完成这个任务: package mainimport …...
小程序如何刷新当前页面?
在小程序中,刷新当前页面通常有两种方法: 使用 wx.navigateBack 方法: wx.navigateBack({delta: 1 }) 这将返回上一页,并刷新页面。你可以通过调整 delta 参数来控制返回的页面数。例如,如果你想要返回到两页之前的页…...
ChatGPT使用路径:从新手到专家的指南
原文&精华文章&转载注明:ChatGPT与日本首相交流核废水事件-精准Prompt... hello,我是小索奇,有任何问题或者需要帮助的都可以在这里找到我或者留言哈 一、初识ChatGPT 什么是ChatGPT? ChatGPT是一种大型语言模型&…...
VsCode 调试 MySQL 源码
1. 启动 MySQL 2. 查看 MySQL 进程号 [root ~]# ps -ef | grep mysqld root 21479 1 0 Nov01 ? 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir/usr/local/mysql/data --pid-file/usr/local/mysql/data/mysqld.pid root 26622 21479 0 …...
Mysql中的正经行锁、间隙锁和临键锁
行锁、间隙锁和临键锁是数据库中的三种不同类型的锁,三者都属于行锁,第一个一般叫他正经的行锁(《Mysql是怎样运行的》一书中的说法)。 行锁(Row Lock):行锁是指对数据表中的某一行进行的锁定操…...
最强AI之风袭来,你爱了吗?
2017年,柯洁同阿尔法狗人机大战,AlphaGo以3比0大获全胜,一代英才泪洒当场...... 2019年,换脸哥视频“杨幂换朱茵”轰动全网,时至今日AI换脸仍热度只增不减; 2022年,ChatGPT一经发布便轰动全球&a…...
时间序列预测实战(二十三)进阶版LSTM多元和单元预测(课程设计毕业设计首选)
一、本文介绍 本篇文章给大家带来的是利用我个人编写的架构进行LSTM模型进行时间序列建模(专门为了时间序列领域新人编写的架构,简单且不同于市面上大家用GPT写的代码),包括结果可视化、支持单元预测、多元预测、模型拟合效果检测…...
Python之Appium 2自动化测试(Android篇)
一、环境搭建及准备工作 1、Appium 2 环境搭建 请参考另一篇文章: Windows系统搭建Appium 2 和 Appium Inspector 环境 2、安装 Appium-Python-Client,版本要求3.0及以上 pip install Appium-Python-ClientVersion: 3.1.03、手机连接电脑,并在dos窗口…...
chromium通信系统-ipcz系统(四)-ipcz-分层、和mojo的关系以及handle
在只有mojo的情况下, 进程间通信都是靠unix 域套接字来完成了,由于这种方式比较低效,并且不够灵活,后来引入了ipcz。 但是系统中基本上使用mojo做进程间通信,想要一步到位迁移到ipcz系统是比较困难的。 所以chrome团队…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
Razor编程中@Html的方法使用大全
文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...
抽象类和接口(全)
一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...
