mysql - summenbildung?
theres
- datenbank
hallo ihr lieben,
für eine statistik habe ich folgende tabelle in mysql:
+-----+---------+
| tag | bereich |
+-----+---------+
| 1 | 1 |
| 1 | 1 |
| 1 | 1 |
| 3 | 2 |
| 2 | 2 |
| 2 | 3 |
| 2 | 4 |
| 2 | 4 |
+-----+---------+
ich möchte nun feststellen, welcher tag am meisten einträge hat(1)
und welcher bereich im gesamten pro tag(2) am häufigsten einträge hat.
(1)
mit folgender abfrage finde ich den tag mit den meisten einträgen raus:
select tag, count(*) as c from table group by tag order by c desc limit 1
(2)
ich schaffs nicht, die abfrag so abzuwandeln, dass ich damit die bereiche abfragen kann.
das ergebnis sollte in diesem fall tag 1, bereich 1 sein.
danke für eure hilfe,
die theresa
hallo ihr lieben,
für eine statistik habe ich folgende tabelle in mysql:
+-----+---------+
| tag | bereich |
+-----+---------+
| 1 | 1 |
| 1 | 1 |
| 1 | 1 |
| 3 | 2 |
| 2 | 2 |
| 2 | 3 |
| 2 | 4 |
| 2 | 4 |
+-----+---------+ich möchte nun feststellen, welcher tag am meisten einträge hat(1)
und welcher bereich im gesamten pro tag(2) am häufigsten einträge hat.
(2)
ich schaffs nicht, die abfrag so abzuwandeln, dass ich damit die bereiche abfragen kann.
das ergebnis sollte in diesem fall tag 1, bereich 1 sein.
select tag, bereich, count(*) as c from table group by tag, bereich order by tag asc, c desc
Gruß
Reiner
yo,
der ORDER BY im zusammenhang mit LIMIT ist eine falle, in die immer wieder gerne unter mysql hineingelaufen wird. grundsätzlich ist die LIMIT klausel eine sehr feine sache. aber man übersieht dadurch leider immer eine paar probleme.
wovon ich rede ist, dass du mit dem LIMIT 1 nur einen datensatz abgreifen wirst. wenn nun aber 2 tage oder für die zweite abfrage tage, bereiche den gleichen wert haben und auch noch das maximum darstellen, dann fällt einer der beiden unter dem tisch.
das wäre so, als wenn es zwei goldmedaillien gewinner gibt, weil sie die gleiche zeit gelaufen sind oder gleich weit geworfen haben, du aber nur einem die goldene medaille vergibst. da würde sich eventuell einer aufregen...
Ilja