当前位置: 首页 > 面试题库 >

在MySQL中按“ ENUM字段”排序

邢令
2023-03-14
问题内容

有一个字段’noticeBy’枚举(’email’,’mobile’,’all’,’auto’,’nothing’)NOT
NULL默认’auto’。众所周知,按ENUM字段排序相对于其索引执行。但是,如何通过其值进行排序?


问题答案:

如“ 排序”中所述:

ENUM值根据其索引号排序,索引号取决于列规范中列出的枚举成员的顺序。例如,'b''a'for 之前排序ENUM('b', 'a')。空字符串排在非空字符串之前,NULL值排在所有其他枚举值之前。

为防止在使用列ORDER BY上的子句时出现意外结果ENUM,请使用以下技术之一:

  • ENUM按字母顺序指定列表。

  • 确保通过编码ORDER BY CAST(col AS CHAR)或将该列按词法而不是按索引号排序ORDER BY CONCAT(col)

因此,对于第二个项目符号,可以在将其强制转换为字符串后在该列上进行排序:

ORDER BY CAST(noticeBy AS CHAR)


 类似资料:
  • 本文向大家介绍如何在MySQL中按分组字段排序?,包括了如何在MySQL中按分组字段排序?的使用技巧和注意事项,需要的朋友参考一下 要对分组字段进行ORDER BY,请将ORDER BY CASE与一起使用。CASE评估不同的条件,而ORDER BY则按升序或降序对值进行排序。MySQL用于查找匹配项。 让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记

  • 问题内容: 当我想在MySQL查询中定义自定义排序顺序时,可以执行以下操作: 雄辩的ORM版本是什么? 更新: 这是解决方案,在不同领域订购时也可以使用: 问题答案: 使用其中之一或直接使用应该可以:

  • 问题内容: 这是一个表结构(例如测试): 查询如下: 但是我想按 字段大小/ 字段描述的 长度 排序。字段类型将为TEXT或BLOB。 问题答案: 该函数以字节为单位给出字符串的长度。如果要计算(多字节)字符,请改用以下函数:

  • 本文向大家介绍MySQL ENUM值如何排序?,包括了MySQL ENUM值如何排序?的使用技巧和注意事项,需要的朋友参考一下 在MYSQL中,我们知道每个ENUM值都与一个索引号相关联。排序ENUM值的基础也是它们的索引号。此外,索引号取决于列规范中列出枚举成员的顺序。例如,在ENUM('GOOD','EXCELLENT')列中,'GOOD'排在'EXCELLENT'之前。换句话说,我们可以说索

  • 问题内容: 我正在努力解决这个问题。我有这样一张桌子。 我想查询表,结果必须是这样。 查询: 如果该列的值为’A,B,C,D’,则可以正常工作。在某些情况下,某些列的顺序可能在table中没有价值。在这种情况下,我想为其设置0并构造一个结果。 表中没有D。因此,将其设置为“ 0”。 显示创建表输出 问题答案: 怎么这样:

  • 问题内容: 如何按包含星期几名称的varchar列排序mysql结果? 请注意,MONDAY应该排在第一位,而不是SUNDAY。 问题答案: 根据Williham Totland的建议重新设计该列,或者进行一些字符串解析以获取日期表示形式。 如果该列 仅 包含星期几,则可以执行以下操作: