/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Få den højeste og laveste count
Fra : Thomas Hygum


Dato : 07-02-05 14:06

Med denne her query
SELECT mysqldato, count( * ) FROM `sidestats` GROUP BY mysqldato

får jeg antallet pr. dato, men hvordan tilføjer man, at man kun vil have
den højeste eller den laveste?

Jeg har prøvet
SELECT mysqldato, count( * ) FROM `sidestats` GROUP BY mysqldato DESC
LIMIT 1

men det resulterer i den nyeste dato, ikke den anden kolonne, dvs.
datoen med den højeste værdi.

Hvordan gør jeg?

 
 
Jens Gyldenkærne Cla~ (07-02-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 07-02-05 14:25

Thomas Hygum skrev:

> Jeg har prøvet
> SELECT mysqldato, count( * ) FROM `sidestats` GROUP BY mysqldato DESC
> LIMIT 1

Du skal også angive en sortering for at LIMIT virker som du ønsker det:

SELECT mysqldato, count( * )
FROM `sidestats`
GROUP BY mysqldato
ORDER BY COUNT(*) DESC
LIMIT 1

- skulle gerne give den dato med flest poster (højeste count-værdi).

Hvis du fjerner "DESC" får du den laveste.

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jens Gyldenkærne Cla~ (07-02-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 07-02-05 22:03

thomas hygum skrev:

> Jeg får fejlmeddelsen:
> #1111 - Invalid use of group function

Hvordan ser din sql-sætning ud?

Prøv evt. med:

SELECT mysqldato, count(*) as antal
FROM `sidestats`
GROUP BY mysqldato
ORDER BY antal DESC
LIMIT 1
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Geert Lund (07-02-2005)
Kommentar
Fra : Geert Lund


Dato : 07-02-05 14:32

Thomas Hygum wrote:

> Hvordan gør jeg?

Måske kan http://dev.mysql.com/doc/mysql/en/group-by-functions.html
hjælpe lidt på vej (fx funktionerne min() og max()) ?

--
Med venlig hilsen
Geert Lund

thomas hygum (07-02-2005)
Kommentar
Fra : thomas hygum


Dato : 07-02-05 17:52

Det duer desværre ikke.

Jeg får fejlmeddelsen:
#1111 - Invalid use of group function

Og det nytter heller ikke at bytte om på count(*) og mysqldato i den
første linie.


thomas hygum (08-02-2005)
Kommentar
Fra : thomas hygum


Dato : 08-02-05 08:22

Tak nu virker det!

Jeg skal nok lære det med at tildele variable at kende


Jens Gyldenkærne Cla~ (08-02-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 08-02-05 10:13

thomas hygum skrev:

> Tak nu virker det!

Velbekomme. Hvis du vil gøre lidt til gengæld, må du gerne læse min
signatur. Det er svært at følge tråden når du ikke citerer noget.

> Jeg skal nok lære det med at tildele variable at kende

Det er ikke egentlige variable man bruger, men bare aliasser. Men det er
en god ting at kunne.

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste