1

我有表:

posts: 编号 | 作者 | 内容

我需要用一个查询从这个表中选择所有条目,但是作者“demo”写的帖子必须在第一个。

4

3 回答 3

1

我会使用 UNION 并使用预定义的值来 ORDER BY。选择 demo 1st 的所有帖子,然后选择不是 demo 的帖子

SELECT id, author, content, 1 AS special FROM posts WHERE author='demo'
UNION
SELECT id, author, content, 0 AS special FROM posts WHERE author<>'demo'
ORDER BY special DESC
于 2013-06-20T09:55:36.973 回答
1
SELECT * FROM posts 
ORDER BY CASE 
    WHEN author = 'demo' THEN posts
END DESC

演示

如果您想在这里向其他人订购另一个示例:

 _______________________________________________________________________________
|                                                                               |
|                                                                               |
|      SELECT * FROM post ORDER BY                                              |
|       CASE                                                                    |
|       WHEN author = 'demo' THEN post1                                         |
|       WHEN author = 'sdvg' THEN id                                            |
|       END DESC                                                                |
|                                                                               |
|_______________________________________________________________________________|

演示

于 2013-06-20T09:46:36.010 回答
0

如果您首先希望作者字段,那么您必须编写

select author, id, content FROM posts ORDER BY author

否则

select * FROM posts order by author
于 2013-06-20T09:46:06.743 回答