1.order by case when
SELECT * FROM table
ORDER BY
CASE
WHEN name='***' THEN 1
WHEN name='***' THEN 2
WHEN name='***' THEN 3
END
2.UNION ALL
SELECT a.name1,a.name2,a.name3 FROM
(
SELECT 1 Num,* FROM Table WHERE name1='***'
UNION ALL
SELECT 2 Num,* FROM Table WHERE name1='***'
UNION ALL
SELECT 3 Num,* FROM Table WHERE name1='***'
UNION ALL
SELECT 4 Num,* FROM Table WHERE name1='***'
UNION ALL
SELECT 5 Num,* FROM Table WHERE name1='***'
) a
ORDER BY a.Num
3.创建临时表
先建立一个临时表,然后关联查询就行了
num | name |
---|---|
1 | *** |
2 | *** |
3 | *** |
SELECT a.* FROM Table a
JOIN Temp b ON a.name=b.name
ORDER BY b.Num