我們正在改寫我們的CMS的時刻,我們希望我們的客戶能夠使用一個「位置」欄重新排序表格中的內容。所以,如果他們將一個項目標記爲位置1,則它位於頂部,然後位於其下方的位置2等。秩序與空白字段的整數底部
問題是我們不希望他們每次都必須填寫位置,只有在他們想重新排列一些東西,所以位置字段通常是空白的。所以,你可能有以下...
汽車 - 1
自行車 - 2
家
計算機
狗
這會導致一個問題,因爲如果你使用以下SQL ...
SELECT ProductName FROM Products ORDER BY Position DESC;
所有的空白部分都是頂部,而不是底部。
可以使用SQL語句將它們置於正確的順序嗎?
David B有正確的答案,按兩個表達式排序。第一個表達式有幾種選擇,「技巧」是將所有非NULL值分組在一起。如果「位置」是數字,則可以輕鬆地爲所有非NULL值生成0,以將它們組合在一起... ORDER BY位置 - 位置DESC,位置DESC – spencer7593 2009-06-03 15:51:55