Durchschnittsberechung aus mySQL-Datenbank

MySQL, PostgreSQL, SQLite
jeroen
Posts: 10
Joined: 2003-12-15 02:34

Durchschnittsberechung aus mySQL-Datenbank

Post by jeroen » 2004-01-22 14:52

Ich habe eine Datenbank, in welcher 2000 Personendaten gespeichert sind. Nun möchte ich

- den jüngsten User ermitteln (Alter ist in DB)
- den ältesten User ermitteln
- den Altersdurchschnitt ermitteln.

Hat jemand einen Ansatz für mich ???

oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: Durchschnittsberechung aus mySQL-Datenbank

Post by oxygen » 2004-01-22 15:01

Jeroen wrote:Ich habe eine Datenbank, in welcher 2000 Personendaten gespeichert sind. Nun möchte ich

- den jüngsten User ermitteln (Alter ist in DB)
- den ältesten User ermitteln
SELECT * FROM USERS ORDER BY AGE ASC/DESC LIMIT 0,1
- den Altersdurchschnitt ermitteln.
Hm, fällt mir gerade nichts zu sein, wie das sich nur per SQL lösen lässt.

jeroen
Posts: 10
Joined: 2003-12-15 02:34

Re: Durchschnittsberechung aus mySQL-Datenbank

Post by jeroen » 2004-01-22 15:14

Habe die Lösung gefunden:

Code: Select all

SELECT AVG(alter) FROM users;
AVG = Average = Durchschnitt...

Hätte ich auch selbst drauf kommen können :)

deanwickert
Posts: 77
Joined: 2003-05-13 23:20
Location: Lahnstein

Re: Durchschnittsberechung aus mySQL-Datenbank

Post by deanwickert » 2004-01-23 23:38

Jeroen wrote:

Code: Select all

SELECT AVG(alter) FROM users;
Und genauso geht das auch mit minimum und maximum:

Code: Select all

SELECT min(alter) FROM users;
SELECT max(alter) FROM users;

oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: Durchschnittsberechung aus mySQL-Datenbank

Post by oxygen » 2004-01-24 13:58

Jein. Dann hat man zwar das minimal und maximal Alter, aber nicht den zugehörigen User. Das war aber die Aufgabe. Richtige Lösung siehe oben ;)

hahnebuechen
Posts: 19
Joined: 2003-06-02 04:20
Location: NRW

Re: Durchschnittsberechung aus mySQL-Datenbank

Post by hahnebuechen » 2004-01-30 00:57

øxygen wrote:Jein. Dann hat man zwar das minimal und maximal Alter, aber nicht den zugehörigen User. Das war aber die Aufgabe. Richtige Lösung siehe oben ;)
Doch es geht ...

Code: Select all

SELECT *, min(alter) FROM users;
oder besser Spalten auswählen ...

Code: Select all

SELECT id, name, min(alter) FROM users;