gpt4 book ai didi

mysql - mysql结果的复杂排序

转载 作者:行者123 更新时间:2023-11-30 23:49:07 25 4
gpt4 key购买 nike

我想知道是否可以对结果进行排序,以便如果列包含特定单词(“misc”),它会排在最后?

当前查询:

select * from table order by name asc

当前结果:

banjo
guitar
miscproduct1
miscproduct2
piano

伪代码:

select * from table order by name asc, 
except if name like '%misc%' then sort it last

伪结果:

banjo
guitar
piano
miscproduct1
miscproduct2

这可能吗?

最佳答案

你可以使用 LOCATE()作为第一个排序参数:

ORDER BY LOCATE('misc', name), name;

如果在主题中找不到搜索字符串,则 LOCATE() 函数返回 0,如果找到则返回一个正整数。

要规范化包含搜索的主题的排序,您可以结合 LEAST():

ORDER BY LEAST(LOCATE('misc', name), 1), name;

关于mysql - mysql结果的复杂排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20849992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com