将所选内容与自定义列值组合

x4shl7ld  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(242)

在列中 status 有以下值: slider - sidebar - below - oncheck - later .
我想得到所有物品的清单,但首先是 status = slider 那么 sidebar 等等。
每个 status 组应按排序 date desc .
我试过了 UNION ```
$sql = "select * from posts where status = 'slider' union
select * from posts where status = 'sidebar' union
select * from posts where status = 'below' union
select * from posts where status = 'oncheck' union
select * from posts where status = 'later'
order by date desc";

结果-项目混乱(首先 `below` 那么 `slider` 再说一遍 `below` 等)
有什么帮助吗?
5lwkijsr

5lwkijsr1#

SELECT * FROM posts 
ORDER BY FIELD (status, 'slider', 'sidebar'),date desc;

请检查一下这个。

slwdgvem

slwdgvem2#

使用mysql field()函数:

SELECT *
FROM posts
ORDER BY FIELD(status, 'slider', 'sidebar', 'below', 'oncheck', 'later');

这将根据需要对行进行排序:)

相关问题