首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何以自定义格式而不是字母数字方式对SQL数据进行排序

如何以自定义格式而不是字母数字方式对SQL数据进行排序
EN

Stack Overflow用户
提问于 2018-10-13 07:18:07
回答 3查看 248关注 0票数 1

请知道是否可以在SQL中以与标准的字母数字排序列不同的格式对查询结果进行排序。例如,考虑表“表”,

样本表

以下脚本将按“Color”列按字母顺序排列该表:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT * FROM Table ORDER BY Color;

我怎么能订购这样的颜色顺序是绿色,蓝色,红色?也就是说,如何使用我定义的订单格式进行订购?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-10-13 07:23:19

使用MySQL时:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ORDER BY FIELD(Color,'GREEN','BLUE,'RED') ASC

文档:字段

注意字段(.)如果第一个参数的值在后面的参数中根本不存在,或者当它为NULL时,则计算为0。因此,如果这些案例中的任何一个属于这些可能性,那么你需要格外小心,否则,这些都将是最重要的结果。因此,在这种情况下,我亲自提供了所需的反向顺序,并使用DESC,例如,在您的情况下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ORDER BY FIELD(Color,'RED','BLUE,'GREEN') DESC
票数 5
EN

Stack Overflow用户

发布于 2018-10-13 07:19:32

你可以用CASE

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT * 
FROM Table 
ORDER BY CASE Color WHEN 'GREEN' THEN 1 WHEN 'BLUE' THEN 2 ELSE 3 END;
票数 1
EN

Stack Overflow用户

发布于 2018-10-13 07:32:30

FIELD订购可能是您在MySQL中的最佳即时解决方案。但是,一个可能的长期解决方案是添加另一个表来维护基于颜色的排序顺序,例如TableColor

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Color | Position
GREEN | 1
BLUE  | 2
RED   | 3

然后,您只需要将此表加入到当前表中,就可以使用该表进行排序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT t1.*
FROM yourTable t1
INNER JOIN TableColor t2
    ON t1.Color = t2.Color
ORDER BY
    t2.Position;

这种方法的优点是,如果你最后有几十种不同的颜色,它就能很好地缩放。在这种情况下,FIELD表达式,或者更糟糕的是,CASE表达式,不能很好地扩展,而且可能很难维护。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52794405

复制
相关文章
面试题26(对字母进行排序,如:s,a,g,d,b; 控制台输入 a b d g s)
对字母进行排序,如:s,a,g,d,b; 控制台输入 a b d g s import java.util.ArrayList; import java.util.List; public class Demon { public static void main(String[] args) { String s = "sagdb"; //声音一个list集合存储每一个英文字母 List t = new ArrayList(); for(int i=0;i<s.length();i+
Java学习
2018/04/17
8890
面试题26(对字母进行排序,如:s,a,g,d,b; 控制台输入 a b d g s)
flutter - 如何在DartFlutter中按字母顺序对Set String进行排序?
问?我知道有List<string>,但是我需要使用Set<string>。有没有一种方法可以按字母顺序对其进行排序?
徐建国
2021/08/03
6.9K0
jQuery对输入框进行验证,只允许输入字母和数字
使用jQuery来对这两个输入框进行验证,确保只允许输入字母和数字,不允许输入中文字符。 以下是相应的示例代码:
王小婷
2023/09/19
3690
【猫狗数据集】对一张张图像进行预测(而不是测试集)
链接:https://pan.baidu.com/s/1l1AnBgkAAEhh0vI5_loWKw 提取码:2xq4
西西嘛呦
2020/08/26
7780
【猫狗数据集】对一张张图像进行预测(而不是测试集)
JavaScript 如何对 JSON 数据进行冒泡排序?
JavaScript 是一种广泛使用的脚本语言,提供了丰富的功能和工具,用于处理和操作数据。JSON(JavaScript Object Notation)是一种常见的数据格式,用于在不同应用程序之间传输和存储数据。在本文中,我们将探讨如何使用 JavaScript 对 JSON 数据进行冒泡排序,以实现按照指定字段排序的功能。
海拥
2023/06/23
2870
Mysql常用sql语句(7)- order by 对查询结果进行排序
https://www.cnblogs.com/poloyy/category/1683347.html
小菠萝测试笔记
2020/06/09
2.9K0
Mysql常用sql语句(7)- order by 对查询结果进行排序
Python列表中如何按照先字母升序,再数字升序进行混合排序
前几天在Python白银交流群有个叫【猫药师Kelly】的粉丝问了一个Python列表排序的问题,如下图所示。
前端皮皮
2022/08/17
2.2K0
Python列表中如何按照先字母升序,再数字升序进行混合排序
python对字典进行排序
标准的python字典是无序的。即使对(键、值)对进行了排序,也无法以保留排序的方式将它们存储在dict中。
IT工作者
2022/07/07
1.9K0
为什么特征工程要用 SQL 而不是 Python
我们常说机器学习是一门实验科学。所以相比较传统工程而言,机器学习分成两个大的阶段:
用户2936994
2022/05/18
8230
为什么特征工程要用 SQL 而不是 Python
Delphi对TStrings进行排序
最近在做一个Delphi的对接第三方支付的接口,接口签名机制模仿微信的签名方式,把参数按ascii码进行排序后再加上key进行md5的加密,因为调用接口的的Post里面的参数是TStrings类型的,但是在TStrings类型里面没有Sorted排序这个方法。所以我自己重写了一个函数用于处理这个。
Vaccae
2019/07/25
1.4K0
对map集合进行排序
今天做统计时需要对X轴的地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用的map来进行数据统计的,所以在统计过程中就需要对map进行排序。
java思维导图
2018/11/30
1.8K0
对map集合进行排序
LUA对Map进行排序
Lua中最常见的数据结构就是Table, 用Table表示Map很容易, 但早期Lua没有提供一个针对Map数据结构的排序方法,下面用Moonscript实现了一个Map型数据结构排序函数方法。
糖果
2019/11/20
3.4K0
老王,怎么完整SQL的显示日志,而不是???...
在常规项目的开发中可能最容易出问题的地方就在于对数据库的处理了,在大部分的环境下,我们对数据库的操作都是使用流行的框架,比如 Hibernate 、 MyBatis 等。
用户5224393
2019/10/16
1.4K0
Django 数据查询中对字段进行排序
也可以使用两个字段进行排序,当 第一个字段值 相等时,再用 第二个 字段值 来排序
卓越笔记
2023/02/18
2.8K0
Excel: 自定义数字格式
文章背景:在Excel中,根据单元格数字显示的需要,可以使用不同的单元格格式(如日期,时间,货币等),有时需要自定义数字格式。下面介绍自定义格式的一些语法规则。
Exploring
2022/09/20
1.3K0
Excel: 自定义数字格式
使用Python对Excel数据进行排序,更高效!
表排序是Excel中的一项常见任务。我们对表格进行排序,以帮助更容易地查看或使用数据。然而,当你的数据很大或包含大量计算时,Excel中的排序可能会非常慢。因此,这里将向你展示如何使用Python对Excel数据表进行排序,并保证速度和效率!
fanjy
2022/11/16
5K0
使用Python对Excel数据进行排序,更高效!
C++ 对vector进行排序
title: C++ vector排序 tags: c++,vector,排序 grammar_cjkRuby: true --- 每次都要重复造轮子真的很累,所以用别人的吧。 目的:对vector进行排序 示例: 记得将 algorithm 这个头文件包括进去 #include <iostream> #include <vector> #include <algorithm> using namespace std; int main(void) { vector <int> a
marsggbo
2018/01/23
8.5K0
C语言实例:实现对英文的12个月份按字母进行排序
这个实例中,我们使用到了二级指针,并将二级指针作为函数参数。作比较时使用到了strcmp()函数
C语言中文社区
2022/05/30
2.8K0
C语言实例:实现对英文的12个月份按字母进行排序
SQL如何对不同表的数据进行更新
如果我们有表A和表B, 我想把我的表A的Col1内的数据更新到表B的Col1里面,那么我们怎么做呢?
繁华是客
2023/03/03
3.5K0
敏捷开发需要的是 "对" 的 "人", 而不是 "对" 的 "角色"
摘要总结:文章讨论了敏捷开发中Product Owner角色的问题,认为不应该将领域专家和架构师直接对应到敏捷开发中的Product Owner,而应该根据实际的产品和团队成员现况来选择合适的人选。文章强调,只有找到合适的人,才能做出合适的产品,而角色和实际工作之间并没有绝对的关系。
Ken Fang 方俊贤
2018/01/05
8710
敏捷开发需要的是 "对" 的 "人", 而不是 "对" 的 "角色"

相似问题

SQL Server :使用数字对字母进行排序

31

Sql:对行项进行字母数字排序

14

如何以最好的方式对Hashmap中的字母数字键进行排序?

21

在SQL中对字母数字列进行排序

21

对字母数字数据进行计数排序?

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文