從Mysql中,取出表格中最新日期的資料,同時依照表格中的權重排序資料
如果在一個表格 tableA 中,有多日的資料數值。如果要取出最新一天,且依照權重排序的資料,可以依照以下的方式。
取出最新一天的資料
SELECT *
FROM tableA
WHERE columnDate=(SELECT MAX(columnDate) FROM tableA)
依照某個欄位的排序,且在排序前,要先將該欄位進行型別的轉換
ORDER BY CAST(columnWeight AS FLOAT) desc;
如果要排序的表格雖然呈現上是數值,但其實是字串的話,再排序時會有錯誤。排序只會依照字元的順序,而不是數值的順序進行排序。例如14.38、1.23、9.57,就會以1.23、14.38、9.57的方式排序,而不是1.23、9.57、14.38。因此在排序前,有必要的話(型態不正確的話),要先進行一次型態的轉換。
完整的語法為
SELECT *
FROM tableA
WHERE columnA='XXX' AND columnDate=(SELECT MAX(columnDate) FROM tableA)
ORDER BY CAST(columnWeight AS FLOAT) desc;