我有兩個表是完全不同的字段和數據,但我想從兩個表中排序的數據。爲此我使用了union子句,並且我成功地獲取結果集但無法對數據進行排序。我嘗試了很多技巧,但都失敗了。排序在mysql中的兩個表的聯合結果集
我查詢 -
(SELECT amount FROM `purchase` order by amount desc limit 0, 10)
UNION
(SELECT total_price as amount from `item` order by total_price desc limit 0, 10) order by amount desc
結果是 -
-----------
amount
-----------
9999.000
9998.000
999.000
9730
7750
7700
7600
6881
20000
13400
10250
10000
結果是確定的,但你可以看到,數據不排序量,它是由表排序。但是我想在最高處即20000等等。任何人都可以告訴我在查詢中必須做什麼更改才能達到結果。
在此之前,請你解釋我。這裏+ 0在做什麼以及它如何影響我的數據? @ InoS Heo – 2014-10-06 07:09:36
@ThePlusProgrammer這是在MySQL(或PHP)中不強制嚴格數據類型的常見技巧。使用'CAST()'函數是轉換數據類型的標準方法。 – 2014-10-06 07:13:11
amount是varchar類型,total_price是int型 – 2014-10-06 07:13:33