php - ORDER BY 部分字符串

标签 php mysql sql sql-order-by

我有一个列名 unique,我试图打印随机排序的结果,首先是所有以 lead_ 开头的行,然后是所有其余行。

例如,如果我有这些行:

abc
lead_ass
dsff
dds
lead_fdg
fds
lead_hhf

我需要先打印 lead_ass,lead_fdg,lead_nhf 随机排序然后所有其余的,也随机排序。

最佳答案

您可以这样做:

order by (col like 'lead_%') desc,
         rand()

表达式 (col like 'lead_%') 返回 true(视为 1)或 false(视为 0),因此 desc 将匹配放在首位. rand() 只是因为你说你想要随机排序的东西。这将对两组进行随机排序。

关于php - ORDER BY 部分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23107175/

相关文章:

php - Laravel Passport 路由 [登录名] 未定义

PHP - 在文件中查找一个字符串然后显示它的行号

javascript - 我无法连接到我的 websocket,因为它的握手 Sec-WebSocket-Accept header 值不正确

php - WHERE 子句中的 NULL

mysql - 如何通过一条MySQL查询查询夫妻数据?

php - 响应开头有额外的未定义字符

php - 我不知道如何在使用 jquery 删除记录时获取记录的 ID

php - SQL查询在数据库中运行,但在PHP中显示 "undefined index"

MySQL Concat 和 GROUP BY

mysql - #1005 - 无法创建表 'table_name'(错误号 : 150)