Yahoo Answers is shutting down on May 4th, 2021 (Eastern Time) and beginning April 20th, 2021 (Eastern Time) the Yahoo Answers website will be in read-only mode. There will be no changes to other Yahoo properties or services, or your Yahoo account. You can find more information about the Yahoo Answers shutdown and how to download your data on this help page.

MYSQL的order by 順序欄位能show出來嗎?

請問高手~

在MYSQL用order by 後排序出來的名次

可以select自動列出嗎?

比如說

select autono(),a from table1 order by b limit 10;

其中的autono()就是對應著a從1列到10

謝謝解答!

Update:

嗯~我舉個例子好了

table A

c1 | c2

1 | 2

6 | 3

4 | 5

現在我要的結果是 table B (如下)

autono | c1

1 | 1

2 | 4

3 | 6

也就是以c1排序

autono就是排序的順序1 2 3

但是我不知道有沒有方式可以自動取出

謝謝

Update 2:

2light 大大的解法...

insert之後 autono欄位的值都是0耶@@..

2 Answers

Rating
  • 2light
    Lv 4
    2 decades ago
    Favorite Answer

    假設你的table, A 與 B, 都已經建立; 你的問題可以用變數:

    set noxx=0;

    insert into B (autono,c1) select @noxx=@noxx+1,c1 from A order by c1;

    2006-03-26 14:47:07 補充:

    對不起 set noxx=0; 應該是 set @noxx=0;另外你也可以用 select 設定變數, 但是得用 ":=" select @noxx:=0;

    2006-04-01 16:34:23 補充:

    對不請喔; select 內, 要用 ":="

    insert into B (autono,c1) select @noxx:=@noxx+1,c1 from A order by c1;

  • 2 decades ago

    不是很懂你的意思

    不過如果你的意思是指要在以a排序之後所得的集合再以b排序的話

    你可以使用

    select autono(),a from table1 order by b,a limit 10;

Still have questions? Get your answers by asking now.