有一個表有兩列說ID和名稱,我希望這兩列進行排序。我的sql查詢找到排序兩列獨立
table : id name 3 y 2 z 1 x output should be id name 1 x 2 y 3 z
任何人都可以在單一的sql查詢?
有一個表有兩列說ID和名稱,我希望這兩列進行排序。我的sql查詢找到排序兩列獨立
table : id name 3 y 2 z 1 x output should be id name 1 x 2 y 3 z
任何人都可以在單一的sql查詢?
Select *
, row_number() over (order by ID) as IDRow
, row_number() over (order by name) as NameRow
into #temp
from table
select a.ID, b.Name from #temp a
full outer join #temp b
on a.IDRow = b.NameRow
order by IDRow, NameRow
如果你願意,你可以使用子查詢,而不是臨時表做到這一點,但它可能會這樣快。
這不是mysql –
對不起,你是對的。 SQLSERVER。我迷路了...... :) – APH
你需要做些奇怪的事情。因爲你想做的事很奇怪。
select b1.id, b2.name from
(
select @row := @row +1 as row, id
from broken, (select @row := 0) rr
order by id asc
) b1
inner join
(
select @row2 := @row2 + 1 as row, name
from broken, (select @row2 := 0) rr
order by name asc
) b2
on b1.row = b2.row
Y怪,很好放! (+1)^^ – Levit
我幾乎覺得這是一個思考的練習,而不是別人真正需要做的事情 –
這是奇怪的,名字'y'不屬於ID'2',你想排序後都沒有了。這不是所謂的排序而是更新記錄。 –
好吧,記錄不必更新。它只是暫時被打破。這絕對是古怪的壽。 –