Nutzer nach Alter und Geburtsjahr ausgeben

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Nutzer nach Alter und Geburtsjahr ausgeben

    Grüße,

    ich habe eine kleine Datenbank, in der ich das Geburtsjahr von Nutzern abgelegt habe.
    Nun möchte ich gerne wissen wieviele Leute ein gewisses Alter haben. Zusätzlich soll noch das Geburtsjahr mitgeliefert werden.
    Die Ausgabe soll also in etwa diese Form haben:

    Alter|Anzahl |Geburtsjahr
    ____|______|__________
    09 | 10 | 1998
    10 | 2 | 1998

    Mein Problem an der Stelle ist, ich weiß nicht wie ich das SQL-Statement hinbekommen soll, so dass das richtige Jahr erscheint.
    In meiner Variante verschwinden zwischendurch immer Jahreswerte.
    Hier mal mein bisheriger Versuch inklusive Ergebnis:

    Quellcode

    1. select
    2. floor(
    3. PERIOD_DIFF(
    4. date_format(
    5. now() - INTERVAL datediff(now() + INTERVAL 1 DAY,date_format(now(),'%Y-%m-01')) DAY,
    6. '%Y%m'
    7. ),
    8. date_format(
    9. p.bday_date - INTERVAL datediff(now() + INTERVAL 1 DAY,date_format(now(),'%Y-%m-01')) DAY,
    10. '%Y%m'
    11. )
    12. )/12
    13. ) Age,
    14. YEAR(bday_date) AS Year_born,
    15. bday_date,
    16. count(p.id) Members
    17. from
    18. tabelle p
    19. where
    20. bday_date > '0000-00-00'
    21. group by
    22. Age;
    Alles anzeigen



    +------+-----------+------------+---------+
    | Age | Year_born | bday_date | Members |
    +------+-----------+------------+---------+
    | 0 | 2008 | 2008-01-22 | 1 |
    | 18 | 1990 | 1990-01-01 | 10 |
    | 19 | 1989 | 1989-01-01 | 13 |
    | 20 | 1988 | 1988-02-18 | 12 |
    | 21 | 1986 | 1986-11-08 | 10 |
    | 22 | 1986 | 1986-03-19 | 5 |
    | 23 | 1985 | 1985-06-07 | 1 |
    | 24 | 1984 | 1984-04-04 | 2 |
    | 25 | 1983 | 1983-04-08 | 6 |
    | 26 | 1981 | 1981-12-11 | 5 |
    | 27 | 1980 | 1980-11-16 | 11 |
    | 28 | 1980 | 1980-01-01 | 3 |
    | 29 | 1978 | 1978-11-11 | 280 |
    | 30 | 1977 | 1977-12-16 | 147 |
    | 31 | 1977 | 1977-03-04 | 4 |
    | 32 | 1975 | 1975-11-09 | 4 |
    | 35 | 1972 | 1972-12-09 | 2 |
    | 36 | 1972 | 1972-07-11 | 1 |
    | 37 | 1971 | 1971-07-10 | 1 |
    | 38 | 1970 | 1970-07-21 | 3 |
    | 39 | 1969 | 1969-01-14 | 1 |
    | 44 | 1963 | 1963-11-07 | 1 |
    | 45 | 1963 | 1963-02-05 | 1 |
    | 46 | 1962 | 1962-04-23 | 1 |
    | 48 | 1960 | 1960-05-02 | 1 |
    | 58 | 1949 | 1949-11-11 | 1 |
    | 59 | 1949 | 1949-07-04 | 1 |
    +------+-----------+------------+---------+

    Es fehlt z.B. das Jahr 1979 obwohl es Nutzer mit diesem Geburtsjahr gibt.

    Merci für die Hilfe :)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Mordok ()

  • Naja, ich wollt eigentlich beide Werte (also sowohl Alter wie auch Geb.Jahr) zusammen als Ergebnis.
    Nachdem ich mir jedoch einige Stunden den Kopf zerbrochen habe und auf keine vernünftige Lösung gekommen bin,
    habe ich die Information auf zwei Abfragen aufgeteilt.
    Nun liefer ich einmal Alter und Anzahl und einmal Geb.Jahr und Anzahl. :)

    mfg und thx für die Hilfe
    Mordok