MySQL query, group by, max, count

Pagina: 1
Acties:

  • eborn
  • Registratie: April 2000
  • Laatst online: 12-09 13:59
Ik wil graag het volgende doen:

ik heb een tabel met getallen en data. Dan doe ik eerst:

SELECT count(*D FROM tabel GROUP BY HOUR(date);

Dat gaat prima.

Maar nu wil ik alleen de hoogste count(*D terugkrijgen?
Dus ik dacht:

SELECT MAX(count(*D) FROM tabel GROUP BY HOUR(date);

Maar dan krijg je:

ERROR 1111: Invalid use of group function

Dus hoe los ik dit op? Ik werk met MySQL.

Verwijderd

code:
1
SELECT count(*) AS c FROM tabel GROUP BY HOUR(DATE) ORDER BY c DESC LIMIT 1

(misschien moet je ORDER BY en GROUP BY verwisselen qua volgorde niet qua waarde)

  • eborn
  • Registratie: April 2000
  • Laatst online: 12-09 13:59
waarom kom ik daar nou ff niet op he :) Bedankt!

Btw. slotje! :z

  • whoami
  • Registratie: December 2000
  • Laatst online: 17:29
Op zondag 06 januari 2002 12:07 schreef eborn het volgende:
Maar nu wil ik alleen de hoogste count(*D terugkrijgen?
Dus ik dacht:

SELECT MAX(count(*D) FROM tabel GROUP BY HOUR(date);

Maar dan krijg je:

ERROR 1111: Invalid use of group function

Dus hoe los ik dit op? Ik werk met MySQL.
Je krijgt die fout omdat de column 'date' die je in uw GROUP BY clause gebruikt dan niet in uw SELECT - list staat.
Als je het volgende zou doen:
code:
1
2
SELECT MAX(COUNT(*)), HOUR(date) AS uur 
FROM tabel GROUP BY uur

zou het wel moeten lukken. Dan heb je uw GROUP BY column nl ook in uw select lijst gezet.

https://fgheysels.github.io/