masql:nuetzliches

Daten aus dem letzten Monat selektieren

SELECT * FROM TABLE
WHERE YEAR(date_created) = YEAR(CURRENT_DATE - INTERVAL 1 MONTH)
AND MONTH(date_created) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH)

Alter aus Datum extrahieren

SELECT 
    DATEDIFF(CURRENT_DATE, t.geb_datum)/365 DIV 1 AS AlterInJahren,
FROM tabelle t 
LIMIT 100;

Wobei hier „DIV 1“ die schnellste Möglichkeit bei MySQL ist aus einem Float einen Int zu machen.

Altersverteilung ausgeben

SELECT COUNT(*) AS "Gesamt",
    SUM(IF((DATEDIFF(CURRENT_DATE, t.geb_datum)/365 DIV 1) BETWEEN 1 AND 19,1,0)) AS "Bis 19 Jahre",
    SUM(IF((DATEDIFF(CURRENT_DATE, t.geb_datum)/365 DIV 1) BETWEEN 20 AND 29,1,0)) AS "Von 20 bis 29 Jahre",
    SUM(IF((DATEDIFF(CURRENT_DATE, t.geb_datum)/365 DIV 1) BETWEEN 30 AND 49,1,0)) AS "Von 30 bis 49 Jahre",
    SUM(IF((DATEDIFF(CURRENT_DATE, t.geb_datum)/365 DIV 1) >49,1,0)) AS "Ab 50 Jahre",
FROM tabelle t;
  • masql/nuetzliches.txt
  • Zuletzt geändert: vor 4 Monaten
  • von Thomas Große