0

これらの結果を含む mytable というタイトルのテーブルがあります

ID | name
----------
1  | one
2  | two
3  | three
4  | four
5  | five


この結果が必要です

ID | name
----------
3  | three
1  | one
2  | two
4  | four
5  | five

レコード '3 , three' は最初の行にある必要があり、このレコードの後に​​他のレコードが表示されます。ありがとうございました ;

4

4 に答える 4

1

これを試して:

select ID, NAME from 
    (select *, -1 as rnum from tb where id=3
    union all
    select *, ID as rnum from tb where id!=3 ) tb1
ORDER BY rnum ASC

ここにSQLfiddleがあります

于 2013-09-08T16:07:25.857 に答える
0
select * from mytable s where s.id=3
union all
select * from ( 
    select t.id,t.name from mytable t where t.id!=3
order by t.id) as q;

SQLfiddle デモ

于 2013-09-08T15:55:32.763 に答える
0

これを試して。PostgreSQL、MySQL、および SQLServer で動作するはずです。

SELECT ID, Name
FROM (
  SELECT 1 AS ID,  'one' as NAME 
  UNION SELECT 2 , 'two'
  UNION SELECT 3 , 'three'
  UNION SELECT 4 , 'four'
  UNION SELECT 5 , 'five'

) AS MyDataSet
ORDER BY CASE WHEN ID = 3 THEN 0 ELSE 1 END
于 2013-09-08T17:22:36.160 に答える