我正在使用電子商務系統,並試圖修改產品的排序方式。在MySQL中按位置排序,將多個產品分配到一個位置
我的問題是,當兩個項目具有相同的值時,mysql如何處理排序?
例如
產品按分配給他們的位置排序(所以位置1將顯示在頂部)。
但是,如果我將3個產品分配到位置1和2個產品分配到位置2,那麼3個產品分配到位置1的默認排序方式如何?這是特定於電子商務系統還是有一個MySQL的默認,如ID?
我希望這已經足夠清晰了,我一直無法通過谷歌搜索找到任何好的答案。
我正在使用電子商務系統,並試圖修改產品的排序方式。在MySQL中按位置排序,將多個產品分配到一個位置
我的問題是,當兩個項目具有相同的值時,mysql如何處理排序?
例如
產品按分配給他們的位置排序(所以位置1將顯示在頂部)。
但是,如果我將3個產品分配到位置1和2個產品分配到位置2,那麼3個產品分配到位置1的默認排序方式如何?這是特定於電子商務系統還是有一個MySQL的默認,如ID?
我希望這已經足夠清晰了,我一直無法通過谷歌搜索找到任何好的答案。
您可以指定附加的字段來排序,最早的字段優先,但後面的字段決定如何打破關係。例如:
ORDER BY foo ASC, bar DESC
結果是隨機的,因爲不會應用其他「默認」順序。如果你需要一個以上的列進行排序,你可以做這樣的
order by position, id, date
你可以給多個列名(比如A,B,C)的ORDER BY
子句。當A的值相等時,則B用於做出排序決定。如果在B中也相等,則使用C.這叫做詞典排序。請參閱SELECT
命令和ORDER BY
子句的任何SQL文檔。
完美,我會給這個去!誰知道這會很簡單呃? – user319940