web-dev-qa-db-ja.com

日時mysqlで注文する

日時フィールドタイプを含むテーブルがあり、次のように、選択構文を降順でソートする必要があります。

2012-12-12 01:44:20

2012-12-11 01:44:40

2012-12-10 01:40:36

2012-12-09 12:28:19

2012-12-09 12:19:21

2012-12-09 12:11:50

2012-12-09 12:00:11

2012-12-09 11:59:26

2012-12-09 11:57:08

2012-12-09 11:55:21

11
Samer
ORDER BY columnname DESC

タダ!

28
zerkms
ORDER BY UNIX_TIMESTAMP(columnname) DESC

Mysqlはそれらを文字列としてテストするため、UNIX_TIMESTAMPが必要です(ex 9:0016:00の後に表示されます)。

17
user3700873

私の場合dtEventフィールドは日時タイプです。これが私が見つけた唯一の解決策です:

SELECT myTable.recordId, myTable.dtEvent
FROM myTable
WHERE myTable.dtEvent IS NOT NULL
ORDER BY CAST(YEAR(myTable.dtEvent) AS UNSIGNED),
    CAST(MONTH(myTable.dtEvent) AS UNSIGNED),
    CAST(DAY(myTable.dtEvent) AS UNSIGNED) 
LIMIT 100;
0
Fabio Richeri