這裏是我試圖解決的情況:自定義按SQL順序排序的子句?
我有一個查詢可以返回一組記錄。被排序的字段可能有許多不同的值 - 爲了這個問題,我們會說這個值可能是A,B,C,D,E或Z
現在取決於查詢的結果,排序需要表現如下: 如果只找到AE記錄,那麼「自然」排序它們就沒問題。但是如果Z記錄在結果中,那麼它需要是查詢中的第一個結果,但其餘記錄應該是「自然」排序順序。
例如,如果ACD被發現,那麼結果應該是
A
C
D
但如果ABDEZ被發現,那麼結果應該進行排序:
Z
A
B
D
E
目前,查詢是這樣的:
SELECT NAME, SOME_OTHER_FIELDS FROM TABLE ORDER BY NAME
我知道我可以編寫一個排序函數來做我想做的事情,但是由於我如何使用結果,我似乎無法使用,因爲結果正在處理由第三方庫,我只是通過SQL查詢。然後它正在處理結果,而且我似乎沒有任何掛鉤來排序結果並將結果傳遞給庫。它需要自己完成SQL查詢,並且我無法訪問庫的源代碼。
因此,對於你們所有的SQL專家,你能爲我提供一個查詢來完成我想要的嗎?
你正在使用哪個數據庫? – evilone
DB2是後端。我正在使用一些遺留代碼。如果我可以避免更改系統正在使用的SQL,我可以。但偶爾我會發現需要修復的東西。 –