Frage

Ich habe einen solchen Tisch:

id   | date
---- | -----------
1    | 1319043263
2    | 1319043578

Welches Datumsfeldformat befindet sich in der Epoche. Ich muss jede Reihe, die zum selben Tag gehört, gruppieren und sie in einer separaten Gruppe zeigen. Wie kann ich das in MySQL machen?

Vielen Dank.

War es hilfreich?

Lösung

Gruppiere nach:

SELECT COUNT(`id`) AS `Records`, DATE(FROM_UNIXTIME(`date`)) AS `Date` 
FROM `table`
GROUP BY DATE(FROM_UNIXTIME(`date`))

Ausgabe:

    Records | Date
--------------------------------
      10    | 2011-10-19
      10    | 2011-10-18

Sortieren nach:

SELECT `id`, FROM_UNIXTIME(`date`) AS `Date`
FROM `table`
ORDER BY DATE(FROM_UNIXTIME(`date`)) [ASC|DESC]

(Obwohl Sie in Wirklichkeit die gleiche Bestellung erhalten, nur von _unixtime () oder dem RAW date Wert, da sie alle bei einem Bestellversuch richtig stapeln würden)

Ausgabe:

      id    | Date
--------------------------------
      03    | 2011-10-19 12:00:00
      02    | 2011-10-18 12:00:00
      01    | 2011-10-17 12:00:00

Dies wandelt den UNIX -Zeitstempel in eine MySQL -DateTime um und extrahiert dann den Datumswert aus dem, der auf die Gruppierungs- oder Auftragsklausel angewendet wird

Wenn Sie tagsüber gruppieren möchten, unabhängig von Monat und Jahr Nutzungstag () anstelle von Datum ()

Könnten Sie jedoch den Teil um "Gruppen jede Reihe nach Tag" erweitern. Welches Ergebnis möchten Sie zeigen? Wenn Sie etwas gruppieren, verwenden Sie einen aggregierten Prozessor wie count () oder sum () auf einem Feld innerhalb der Gruppe.

MySQL -Gruppenfunktionen Referenz

MySQL Datum und Zeitfunktion Referenz

Andere Tipps

Denken Sie, dass es eher so ist, wenn man die Anforderungen an die Gruppierung berücksichtigt.

Ich habe gerade Min/Max als Beispiel für die Domänenaggregation hinzugefügt.

SELECT
  DATE(FROM_UNIXTIME(`epoch`)) AS `GroupedDate`,
  MIN(FROM_UNIXTIME(`epoch`)) AS `DayStart`,
  MAX(FROM_UNIXTIME(`epoch`)) AS `DayEnd`
FROM
  `timestamps`
GROUP BY
  DATE(FROM_UNIXTIME(`epoch`))
ORDER BY
   `epoch` ASC;
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top