2017-03-21 62 views
0

任何人都可以解釋這兩個截圖之間的區別,比如它實際上是如何工作的?如果你曾經嘗試過。'!columnName'的MySQL命令不等於'desc'

  1. 排序DESC是給結果一樣:

order by descending

  • 排序的列名,也如同爲了通過遞減但在一個例子!不同的方式。 order by !column name
  • +0

    下選民有你試過這個嗎? – Jigar7521

    +0

    'NOT'或'!'是一個布爾運算符,它在MySQL文檔中非常清楚。 https://dev.mysql.com/doc/refman/5.7/en/logical-operators.html#operator_not您不清楚您是在問爲什麼整數和布爾值之間存在差異? 「ORDER BY'如何工作?」是一個非常寬泛的問題,你的問題對於主題來說是混淆和過分的。對於一件事截圖應該幾乎從來沒有必要... – ebyrob

    回答

    2

    NOT運算符返回1或0。所以,如果你使用!值1,那麼你得到的0的個數和1的和,因爲你沒有在ORDER BY另一列,行的集合中的順序(1和0)沒有定義。

    ORDER BY value1 DESC另一方面按降序對行進行排序。

    0

    只是爲了幫助你「看」發生什麼事(slaakso已經給了你答案),你可以做一些「實驗」開始:

    SELECT A, !A AS B FROM (
    select 'A' AS A UNION SELECT 'C' AS A UNION SELECT 'B' UNION SELECT 1 UNION SELECT 0) X 
    ORDER BY !A 
    

    輸出:

    A B 
    1 1 0 
    2 B 1 
    3 A 1 
    4 0 1 
    5 C 1