/ 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
count(*) højere end 1
Fra : Thomas Hygum


Dato : 07-02-05 10:23

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

får jeg dette her:
003f40543510fce7a71143a59fad43e0    3
0041a36820261add4f204da1890d2a86    1
00be06d0fd5881b633070b6df2e39369    1
0110af72280d4bc473f6485c4f5d8973    1
01959a0de9865b2d864348ff19e5910c    3
01a33318503c1071edd88022eb30d033    2
01e2c3dcd5339b6b3352e28594a32fa6    1
02020d71b3bd166b2ee83f8e8766bad0    2
023d793782baf834510e6d8d06730d30    1
025f0cee70b673d163e6e3ea96d96ac0    1

(osv)

Men jeg vil kun have dem med en count højere end 1, hvordan gør jeg det?

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


Dato : 07-02-05 10:39

Thomas Hygum skrev:

> SELECT pcid, count( * )
> FROM `sidestats`
> GROUP BY pcid

[snip]

> Men jeg vil kun have dem med en count højere end 1, hvordan gør jeg det?

Tilføj:

   HAVING COUNT(*) > 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

Michael Rasmussen (07-02-2005)
Kommentar
Fra : Michael Rasmussen


Dato : 07-02-05 10:52

Thomas Hygum <hygum@tigerensrede.dk> wrote:

>Med denne her query:
>SELECT pcid, count( * )
>FROM `sidestats`
>GROUP BY pcid

>Men jeg vil kun have dem med en count højere end 1, hvordan gør jeg det?

Måske:

SELECT pcid, count( * ) as d1
FROM `sidestats`
WHERE d1 > 1
GROUP BY pcid



<mlr>

--

Af alle seksuelle afvigelser er afholdenhed dog den mest besynderlige..

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


Dato : 07-02-05 12:04

Michael Rasmussen skrev:

> Måske:
>
> SELECT pcid, count( * ) as d1
> FROM `sidestats`
> WHERE d1 > 1
> GROUP BY pcid

Nej - det vil ikke virke. Man henviser til aggregerede felter (som fx
count(*)) med having, ikke med where.

Alternativt kan man bruge en subquery:

SELECT pcid, d1 FROM
(select pcid, count(*) as d1
from `sidestats`
GROUP BY pcid)
WHERE d1 > 1

- men det er noget enklere at bruge HAVING.

--
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

Frederik Sunne (07-02-2005)
Kommentar
Fra : Frederik Sunne


Dato : 07-02-05 17:21

> Alternativt kan man bruge en subquery:

- Ja, hvis man bruger MySQL 4.1 eller højere....

/Frederik



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


Dato : 07-02-05 22:07

Frederik Sunne skrev:

>> Alternativt kan man bruge en subquery:
>
> - Ja, hvis man bruger MySQL 4.1 eller højere....

- eller MSSQL, Access, Oracle eller en anden database der
understøtter subqueries. Der stod ikke noget om at spørgsmålet
specifikt gjaldt MySql.
--
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 : 177513
Tips : 31968
Nyheder : 719565
Indlæg : 6408606
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste