Ankündigung

Einklappen
Keine Ankündigung bisher.

[gelöste] In 5er Abschnitten zusammenfassen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • stefanjann
    hat ein Thema erstellt [gelöste] In 5er Abschnitten zusammenfassen.

    [gelöste] In 5er Abschnitten zusammenfassen

    Hallo,

    ich habe ein eher mathematisches Problem und weiß nicht genau wie ich zur einer sinnvollen Lösung kommen.

    Ich habe eine Statistik die mir das Geburtsjahr vieler Personen auflistet. Diese Statisik habe ich in einer MySQL-Tabelle.

    id | name | geburtsjahr
    1 | rudi | 1945
    2 | jens | 1988
    3 | gabi | 1974
    ....

    aus dieser Tabelle rufe ich alle Daten ab um eine Tabelle zu erstellen die mir sagt wer wie alt ist (orientiert am 1.1., da ich kein genaues Datum habe). Das ist auch nicht das Problem. Mein Problem ist es jetzt das ganze in 5er Blöcke zu fassen. Also, wie bekomme ich z.B. folgende Tabelle:

    alter | anzahl
    0-5 Jahre | 0 Personen
    6-10 Jahre | 3 Personen
    11-15 Jahre | 22 Personen
    16-20 Jahre | 40 Personen
    ...
    bis hoch zu "älter als 80".

    Gibt es eine Funktion oder einen Weg immer auf den nächsten 5er herunter zu kommen. Wenn es um 10 Schritte ginge, dann wäre es leichert, weil ich ja nur von dem 2-stelligem Alter die vordere Ziffer nehmen bräuchte, aber mit 5er Schritten hab ich jetzt mein Problem.

    Ich brauche keinen kompletten Code, der Weg ist bei mir das Ziel. Und vielleicht der Hinweis auf die passenden Funktionen, da ich im Manual noch nichts gefunden habe (weder bei MySQL noch bei PHP4 oder PHP5)

    Danke,
    Stefan

  • stefanjann
    antwortet
    Zitat von xabbuh
    Zitat von stefanjann
    nur jetzt verstehe ich nicht was ich damit erreicht habe?
    Wenn du weißt, in welcher "Gruppe" er ist, kannst du sehr einfach berechnen, welche Altersspanne dies ist:
    PHP-Code:
    <?php
        printf
    ('%d - %d'$group 4$group 5);
    ?>
    Hallo,
    danke, das ist der Weg den ich gehe.
    Gruß,
    Stefan

    Einen Kommentar schreiben:


  • xabbuh
    antwortet
    Zitat von stefanjann
    nur jetzt verstehe ich nicht was ich damit erreicht habe?
    Wenn du weißt, in welcher "Gruppe" er ist, kannst du sehr einfach berechnen, welche Altersspanne dies ist:
    PHP-Code:
    <?php
        printf
    ('%d - %d'$group 4$group 5);
    ?>

    Einen Kommentar schreiben:


  • dsmcg
    antwortet
    wenn einer 23ist wäre er dann in der 5ten Gruppe

    Einen Kommentar schreiben:


  • stefanjann
    antwortet
    Zitat von xabbuh
    Dividiere doch einfach das Alter durch 5 und runde dieses Ergebnis auf.
    Angenommen ich habe das Alter von 23. Dann dividiere ich durch 5.
    Code:
    23 / 5 = 4,6
    Aufgerundet 5
    nur jetzt verstehe ich nicht was ich damit erreicht habe?

    Einen Kommentar schreiben:


  • stefanjann
    antwortet
    Zitat von dilemma
    Teste folgende Abfrage:
    Code:
    SELECT
       COUNT(*) AS anzahl,
       FLOOR(ABS((YEAR(NOW() - geburtsjahr - 1)) / 5)) AS altersgruppe
    FROM
       tabelle
    GROUP BY
       altersgruppe
    ORDER BY
       altersgruppe
    ~dilemma~
    Leider nein. Folgendes habe ich somit bekommen:
    anzahl | altersgruppe
    828 | NULL
    254 | 401

    und das wars. Nur die Zwei. Der Weg war wohl der falsche. Danke trotzdem. Aber ich habe verstanden was du meistes. Ich werds mal versuchen daraufhin was auszuprobieren.

    Einen Kommentar schreiben:


  • xabbuh
    antwortet
    Dividiere doch einfach das Alter durch 5 und runde dieses Ergebnis auf.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Teste folgende Abfrage:
    Code:
    SELECT
       COUNT(*) AS anzahl,
       FLOOR(ABS((YEAR(NOW() - geburtsjahr - 1)) / 5)) AS altersgruppe
    FROM
       tabelle
    GROUP BY
       altersgruppe
    ORDER BY
       altersgruppe
    ~dilemma~

    Einen Kommentar schreiben:

Lädt...
X