我有一个像
这样的where子句的查询SELECT
name
FROM
adresses
WHERE
(name ='Peter' AND
surname = 'Miller') OR
emailadress1 = 'e@mail.com' OR
emailadress2 = 'b@mail.com'
示例表
name surname emailadress1 emailadress2
------------------------------------------------
Michael e@mail.com
Jim b@mail.com
Peter Miller
导致:
Michael
Jim
Peter
现在它将记录按顺序排列,就像上面示例表的排序顺序一样。
但是我希望将它们放在列表中,然后按照where子句的顺序进行操作。喜欢
name & surname = sortorder 1
emailadress1 = sortorder 2
emailsadress2 = sortorder 3
实施例
Peter
Michael
Jim
答案 0 :(得分:3)
您使用case
声明:
order by (case when (name ='Peter' AND surname = 'Miller') then 1
when emailadress1 = 'e@mail.com' then 2
when emailadress2 = 'b@mail.com' then 3
else 4
end)
答案 1 :(得分:1)
添加
order by name, surname, emailadress1, emailadress2
查询。
答案 2 :(得分:0)
如果您希望按反向字母顺序对它们进行排序,则可以在查询末尾添加ORDER BY名称DESC。
如果您希望按特定人员对结果进行排序,则必须向其添加某种标识符或排名,然后按此排序。