誰もレコードをソートするのを手伝ってもらえますか(Postgresデータベース)?レコードは日付順、日付順にソートされます。
には、以下の私は、全体の日付の日付部分でソートしてきた私のテーブルの1に対するクエリの結果である(ORDER BY extract(DAY from cast(date as DATE))
)
注::すべての日付はYYYY-MM-DD形式である
2016-03-01
2016-09-01
2016-08-01
2016-12-01
2016-01-01
2016-07-01
2016-11-01
2016-02-01
2016-06-01
2016-10-01
2016-04-01
2016-05-01
2016-07-22
2016-08-22
2016-10-22
2016-09-22
2016-11-22
2016-12-22
日付部分ごとにレコードをソートするので、これは良いです。しかし、私が望むのは、すべてのレコードが日付部分に基づいてソートされるような結果でなければならないため、日付1のすべてのレコードが日付22のすべてのレコードの前に来るようにする必要があります。 date 22 by month part(上記の結果セットを見ると、日付部分ではなく月の部分でソートされていることがわかります)。
ORDER BY extract(DAY from cast(date as DATE)), -- first sort by day
date -- then sort by date
この順序は、最初の日に1つのレコードを配置します:
2016-01-01
2016-02-01
2016-03-01
2016-04-01
2016-05-01
2016-06-01
2016-07-01
2016-08-01
2016-09-01
2016-10-01
2016-11-01
2016-12-01
2016-07-22
2016-08-22
2016-09-22
2016-10-22
2016-11-22
2016-12-22
1と22以外の日数はありますか? –
はい、私は持っています。しかし、あなたは解決策を次のように働いているようです 'ORDER BYのエキス(日時からキャスト(日付として日付))、 – Hannan