首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql的order特定值排在最后,其他rest排在第一

Mysql的order特定值排在最后,其他rest排在第一
EN

Stack Overflow用户
提问于 2020-06-10 12:56:23
回答 2查看 33关注 0票数 0

所以我在表上写了is master_mkt,我有1个字段group_mkt

代码语言:javascript
复制
   group_mkt
--------------------
ADIDAS
AMERS TEAM
CONTINENT 8-HOLLIT
E-PRIMA
E-PRIME
IKEA
RETAIL
SMART MED
TNF/COLUMBIA/PVH
UNIQLO

在这个名单上,我想要AMERS团队,E-PRIMA和E-PRIME成为最后一个订单,其余的是第一个,就像这些

代码语言:javascript
复制
  group_mkt
   --------------------
  ADIDAS
  CONTINENT 8-HOLLIT
  IKEA
  RETAIL
  SMART MED
  TNF/COLUMBIA/PVH
  UNIQLO
  AMERS TEAM
  E-PRIMA
  E-PRIME

我该怎么做,请不要说我需要特定的所有值,因为我担心会有新的成员group_mkt,所以我不需要重新输入特定的顺序。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-10 13:08:32

如果希望在末尾显示特定值:

代码语言:javascript
复制
order by group_mkt="E-PRIME",group_mkt="E-PRIMA",group_mkt="AMERS TEAM",group_mkt

代码语言:javascript
复制
order by case group_mkt when "AMERS TEAM" then 1 when "E-PRIMA" then 2 when "E-PRIME" then 3 end,group_mkt

代码语言:javascript
复制
order by field(group_mkt, "AMERS TEAM", "E-PRIMA", "E_PRIME"), group_mkt

或者,如果您希望一组值按顺序排序,但不在您的集合中的任何值之后:

代码语言:javascript
复制
order by group_mkt in ("AMERS TEAM", "E-PRIMA", "E_PRIME"), group_mkt
票数 2
EN

Stack Overflow用户

发布于 2020-06-10 13:13:53

您可以使用FIELD()函数来获取字符串在列表中的位置。

代码语言:javascript
复制
ORDER BY FIELD(group_mkt, 'AMERS TEAM', 'E-PRIMA', 'E-PRIME'), group_mkt

如果值不在列表中,则FIELD()返回0。这将把其余部分放在第一位,然后使用group_mkt按字母顺序对它们进行排序。

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

https://stackoverflow.com/questions/62296156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档