如何通过排序获取查询结果顶部的某个值?
我有一个表,状态列
CREATE TABLE movies
(
id int NOT NULL AUTO_INCREMENT,
title varchar(100) NOT NULL default '',
status int NOT NULL
);
状态可能在 1 到 4 之间 我想按状态对结果进行排序,
我可以轻松地按 status
asc
和 desc
对查询进行排序,并获取包含 1 和 4 的行值在顶部
$sql = "SELECT * FROM tbl order by `status` ASC";
,但我怎样才能在结果顶部得到 2 和 3 呢?
i have table with status column
CREATE TABLE movies
(
id int NOT NULL AUTO_INCREMENT,
title varchar(100) NOT NULL default '',
status int NOT NULL
);
status could be between 1 and 4
and i want to sort the result by status
i can easily sort my query by status
asc
and desc
and get the rows with 1 and 4 as value on the top
$sql = "SELECT * FROM tbl order by `status` ASC";
but how can i get 2 and 3 on the top of result ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用
CASE
(作为 RedFilter 的答案)或FIELD()
函数:You can use
CASE
(as RedFilter's answer) or theFIELD()
function: