当前位置: 首页 > news >正文

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 子句中指定的表中定义的列。

使用 ASCDESC 指定指定列中的值是否应按升序或降序排序。如果没有显式指定 ASCDESC ,将使用 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 系列 第一篇 开发环境搭建&#xff08;WSL 方向&#xff09;-CSDN博客 C 系列 第二篇 你真的了解C吗&#xff1f;本篇带你走进C的世界-CSDN博客 C 系列 第三篇 C程序的基本结构-CSDN博客 前言 面向对象编程(OOP)的…...

C++ 指针详解

目录 一、指针概述 指针的定义 指针的大小 指针的解引用 野指针 指针未初始化 指针越界访问 指针运算 二级指针 指针与数组 二、字符指针 三、指针数组 四、数组指针 函数指针 函数指针数组 指向函数指针数组的指针 回调函数 指针与数组 一维数组 字符数组…...

.locked、locked1勒索病毒的最新威胁:如何恢复您的数据?

导言&#xff1a; 网络安全问题变得愈加严峻。.locked、locked1勒索病毒是近期备受关注的一种恶意软件&#xff0c;给用户的数据带来了巨大威胁。本文将深入探讨.locked、locked1勒索病毒的特征&#xff0c;探讨如何有效恢复被其加密的数据&#xff0c;并提供一些建议&#xf…...

Apache Sqoop使用

1. Sqoop介绍 Apache Sqoop 是在 Hadoop 生态体系和 RDBMS 体系之间传送数据的一种工具。 Sqoop 工作机制是将导入或导出命令翻译成 mapreduce 程序来实现。在翻译出的 mapreduce 中主要是对 inputformat 和 outputformat 进行定制。 Hadoop 生态系统包括&#xff1a;HDFS、Hi…...

【UGUI】实现UGUI背包系统的六个主要交互功能

在这篇教程中&#xff0c;我们将详细介绍如何在Unity中实现一个背包系统的六个主要功能&#xff1a;添加物品、删除物品、查看物品信息、排序物品、搜索物品和使用物品。让我们开始吧&#xff01; 一、添加物品 首先&#xff0c;我们需要创建一个方法来添加新的物品到背包中。…...

电压驻波比

电压驻波比 关于IF端口的电压驻波比 一个信号变频后&#xff0c;从中频端口输出&#xff0c;它的输出跟输入是互异的。这个电压柱波比反映了它输出的能量有多少可以真正的输送到后端连接的器件或者设备。...

Open3D 最小二乘拟合二维直线(直接求解法)

目录 一、算法原理二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。爬虫网站自重。 一、算法原理 平面直线的表达式为: y = k x + b...

面试题目总结(二)

1. IoC 和 AOP 的区别 控制反转(Ioc) 和面向切面编程(AOP) 是两个不同的概念&#xff0c;它们在软件设计中有着不同的应用和目的。 IoC 是一种基于对象组合的编程模式&#xff0c;通过将对象的创建、依赖关系和生命周期等管理权交给外部容器或框架来实现程序间的解耦。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 …...

小程序如何刷新当前页面?

在小程序中&#xff0c;刷新当前页面通常有两种方法&#xff1a; 使用 wx.navigateBack 方法&#xff1a; wx.navigateBack({delta: 1 }) 这将返回上一页&#xff0c;并刷新页面。你可以通过调整 delta 参数来控制返回的页面数。例如&#xff0c;如果你想要返回到两页之前的页…...

ChatGPT使用路径:从新手到专家的指南

原文&精华文章&转载注明&#xff1a;ChatGPT与日本首相交流核废水事件-精准Prompt... hello&#xff0c;我是小索奇&#xff0c;有任何问题或者需要帮助的都可以在这里找到我或者留言哈 一、初识ChatGPT 什么是ChatGPT&#xff1f; 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中的正经行锁、间隙锁和临键锁

行锁、间隙锁和临键锁是数据库中的三种不同类型的锁&#xff0c;三者都属于行锁&#xff0c;第一个一般叫他正经的行锁&#xff08;《Mysql是怎样运行的》一书中的说法&#xff09;。 行锁&#xff08;Row Lock&#xff09;&#xff1a;行锁是指对数据表中的某一行进行的锁定操…...

最强AI之风袭来,你爱了吗?

2017年&#xff0c;柯洁同阿尔法狗人机大战&#xff0c;AlphaGo以3比0大获全胜&#xff0c;一代英才泪洒当场...... 2019年&#xff0c;换脸哥视频“杨幂换朱茵”轰动全网&#xff0c;时至今日AI换脸仍热度只增不减&#xff1b; 2022年&#xff0c;ChatGPT一经发布便轰动全球&a…...

时间序列预测实战(二十三)进阶版LSTM多元和单元预测(课程设计毕业设计首选)

一、本文介绍 本篇文章给大家带来的是利用我个人编写的架构进行LSTM模型进行时间序列建模&#xff08;专门为了时间序列领域新人编写的架构&#xff0c;简单且不同于市面上大家用GPT写的代码&#xff09;&#xff0c;包括结果可视化、支持单元预测、多元预测、模型拟合效果检测…...

Python之Appium 2自动化测试(Android篇)

一、环境搭建及准备工作 1、Appium 2 环境搭建 请参考另一篇文章: Windows系统搭建Appium 2 和 Appium Inspector 环境 2、安装 Appium-Python-Client&#xff0c;版本要求3.0及以上 pip install Appium-Python-ClientVersion: 3.1.03、手机连接电脑&#xff0c;并在dos窗口…...

chromium通信系统-ipcz系统(四)-ipcz-分层、和mojo的关系以及handle

在只有mojo的情况下&#xff0c; 进程间通信都是靠unix 域套接字来完成了&#xff0c;由于这种方式比较低效&#xff0c;并且不够灵活&#xff0c;后来引入了ipcz。 但是系统中基本上使用mojo做进程间通信&#xff0c;想要一步到位迁移到ipcz系统是比较困难的。 所以chrome团队…...

使用curl命令直接调试Taotoken大模型聊天接口的详细步骤

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 使用curl命令直接调试Taotoken大模型聊天接口的详细步骤 对于需要在底层进行调试、验证或是在无特定SDK环境中工作的开发者而言&am…...

云数据中心能效优化:集成资源管理与学习中心管理的实战指南

1. 项目概述&#xff1a;当云计算撞上“能耗墙”&#xff0c;我们如何破局&#xff1f;干了十几年IT&#xff0c;从自建机房到全面上云&#xff0c;我亲眼见证了云计算如何重塑整个行业。它确实像电力网络和公路一样&#xff0c;成了现代社会不可或缺的基础设施。但这些年&…...

保姆级教程:手把手教你用Keil 5为APM32F030C6搭建第一个工程(附固件库下载与常见编译错误解决)

从零到一&#xff1a;APM32F030C6在Keil 5上的工程搭建实战指南 第一次接触极海APM32系列芯片的开发者&#xff0c;往往会被陌生的开发环境和复杂的固件库结构弄得手足无措。不同于常见的STM32生态&#xff0c;APM32虽然硬件兼容但软件配置上存在不少差异点。本文将带你用Keil …...

如何在5分钟内免费掌握Windows风扇控制终极技巧

如何在5分钟内免费掌握Windows风扇控制终极技巧 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/FanControl.Relea…...

Hermit:项目级环境隔离工具,告别开发环境冲突

1. 项目概述&#xff1a;从“隐士”到现代开发者的效率革命如果你和我一样&#xff0c;常年与终端为伴&#xff0c;每天在多个项目、不同编程语言和工具链之间切换&#xff0c;那你一定对那种“环境错乱”的痛楚深有体会。前一秒还在用 Python 3.11 调试一个数据脚本&#xff0…...

抖音无水印视频下载终极指南:免费批量保存高清内容

抖音无水印视频下载终极指南&#xff1a;免费批量保存高清内容 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support.…...

RapidIO多播技术原理与应用实践

1. RapidIO多播技术概述 在分布式计算和高速互连系统中&#xff0c;多播&#xff08;Multicast&#xff09;技术扮演着至关重要的角色。简单来说&#xff0c;多播就像是在会议室里用广播系统发布通知——只需说一次&#xff0c;所有打开扬声器的房间都能同时听到。RapidIO作为高…...

Python包安装全攻略:从pip、conda到离线安装,总有一种方法适合你

Python包安装全攻略&#xff1a;从pip、conda到离线安装&#xff0c;总有一种方法适合你 在Python开发中&#xff0c;依赖管理是每个开发者必须掌握的核心技能。无论是数据科学家搭建机器学习环境&#xff0c;还是Web开发者部署Django应用&#xff0c;都离不开Python包的安装与…...

搜极星破局:拆解企业 “看不见、控不住、比不过” 困局

引言&#xff1a;AI 时代&#xff0c;企业陷入三重信息绝境2026 年&#xff0c;生成式 AI 全面主导用户决策链路&#xff0c;品牌竞争从搜索排名转向 AI 认知权重。但多数企业正深陷看不见、控不住、比不过的三重困局&#xff1a;看不见自身在 AI 平台的真实曝光状态&#xff0…...

Vit工程化应用(transformers 库)

pip install transformersfrom transformers import ViTImageProcessor, ViTForImageClassification from PIL import Image import requests# 1. 加载模型和特征提取器 model_name google/vit-base-patch16-224 processor ViTImageProcessor.from_pretrained(model_name) mo…...