所以我在表上写了is master_mkt,我有1个字段group_mkt
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成为最后一个订单,其余的是第一个,就像这些
group_mkt
--------------------
ADIDAS
CONTINENT 8-HOLLIT
IKEA
RETAIL
SMART MED
TNF/COLUMBIA/PVH
UNIQLO
AMERS TEAM
E-PRIMA
E-PRIME我该怎么做,请不要说我需要特定的所有值,因为我担心会有新的成员group_mkt,所以我不需要重新输入特定的顺序。
发布于 2020-06-10 13:08:32
如果希望在末尾显示特定值:
order by group_mkt="E-PRIME",group_mkt="E-PRIMA",group_mkt="AMERS TEAM",group_mkt或
order by case group_mkt when "AMERS TEAM" then 1 when "E-PRIMA" then 2 when "E-PRIME" then 3 end,group_mkt或
order by field(group_mkt, "AMERS TEAM", "E-PRIMA", "E_PRIME"), group_mkt或者,如果您希望一组值按顺序排序,但不在您的集合中的任何值之后:
order by group_mkt in ("AMERS TEAM", "E-PRIMA", "E_PRIME"), group_mkt发布于 2020-06-10 13:13:53
您可以使用FIELD()函数来获取字符串在列表中的位置。
ORDER BY FIELD(group_mkt, 'AMERS TEAM', 'E-PRIMA', 'E-PRIME'), group_mkt如果值不在列表中,则FIELD()返回0。这将把其余部分放在第一位,然后使用group_mkt按字母顺序对它们进行排序。
https://stackoverflow.com/questions/62296156
复制相似问题