Ich möchte sql: auswählen
SELECT "year-month" from table group by "year-month" AND order by date
, wobei Jahr-Monat - Format für Datum "1978-01", "1923-12".
Wählen Sie to_char von couse work , aber nicht "richtige" Reihenfolge:
to_char(timestamp_column, 'YYYY-MM')
sql
postgresql
Bdfy
quelle
quelle
Antworten:
z.B
http://www.postgresql.org/docs/8.0/interactive/functions-datetime.html
quelle
Sie sagen, dass die Reihenfolge nicht "richtig" ist, aber ich kann nicht verstehen, warum sie falsch ist (zumindest bis das Jahr 10000 kommt).
quelle
ORDER BY
datieren.ORDER BY to_char(timestamp, 'YYYY-MM')
. Oder alternativ, wenn Sie dies getan habenSELECT to_char(timestamp, 'YYYY-MM') AS date
, können Sie es einfach verwendenORDER BY date
.Verwenden Sie die
date_trunc
Methode, um den Tag abzuschneiden (oder was auch immer Sie möchten, z. B. Woche, Jahr, Tag usw.)Beispiel für die Gruppierung von Verkäufen aus Bestellungen nach Monat:
quelle
Sie können alle Informationen nach dem Monat abschneiden, indem Sie
date_trunc(text, timestamp)
:Beispiel:
Eingabe:
Ausgabe 1:
Ausgabe 2:
Ausgabe 3:
Ausgabe 4:
quelle
1. Option
Das Datumsformat wird für alle Monate ab dem ersten Tag beibehalten.
Beispiel:
2. Option
Diese von @yairchu vorgeschlagene Lösung hat in meinem Fall gut funktioniert. Ich wollte unbedingt 'Tages'-Informationen verwerfen.
quelle
Sie können die EXTRACT-Funktion pgSQL verwenden
Weitere Informationen PGSQL Datum-Uhrzeit
quelle
Es funktioniert für "größer als" Funktionen nicht für weniger als.
Beispielsweise:
funktioniert gut.
aber für
Ich bekomme einen Fehler.
quelle