我有這樣一個表:如何使用預先定義的一系列行進行排序SQL結果
--------------------------------
id | name
--------------------------------
1 | aa
2 | aa
3 | aa
4 | aa
5 | bb
6 | bb
... one million more ...
,我喜歡以獲得一個預先定義的序列和其他行的任意數量的行按其名稱排序。例如在另一個表中,我有一個帶有3個ID的短序列:
sequ_no | id | pos
-----------------------
1 | 3 | 0
1 | 1 | 1
1 | 2 | 2
2 | 65535 | 0
2 | 45 | 1
... one million more ...
序列1定義了以下一系列ID:[3,1,2]。如何按照這個順序獲得第一個表的三行,以及按照它們的名字順序排列的其餘行? 如何在PostgreSQL以及如何在mySQL? hql中的解決方案看起來如何(hibernate查詢語言)?
我有一個想法是首先查詢和排序在序列中定義的行,而不是排序在序列中的其他行。但這涉及到兩個疑問,可以用一個來完成嗎?
更新:用於樣品序列的最終結果[3,1,2](如上定義的)應該是這樣的:
id | name
----------------------------------
3 | aa
1 | aa
2 | aa
4 | aa
5 | bb
6 | bb
... one million more ...
我需要此查詢通過產品來創建一個分頁表中產品序列的一部分是一個定義的序列,其餘的產品將由我還不知道的條款訂購。
序列表犯規包含每pdoruct,只是其中的幾個。也許20個500.000 – Chris 2009-09-02 09:00:00
更改爲左外連接。同樣,我不是100%滿足您的要求。你能舉個例子說明你期望輸出是怎樣的嗎?你想限制到一個序列?或者按序列號排序一切? – 2009-09-02 09:01:29