/ 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
Fra : Torben


Dato : 17-06-09 04:28

Hej venner

Jeg slås med noget SQL i Mysql-sammenhæng: Min sql-forespørgsel ser i
øjeblikket sådan ud:

$query = "SELECT t2.navn,
t2.id as emneID,
COUNT( t1.id ) as antal
FROM RV2_ARTIKLER as t1,
RV2_EMNER as t2
WHERE ( SELECT COUNT( * )
FROM RV2_ARTIKLER as t3
WHERE t1.id = t3.id ) > 1
AND t1.emneID = t2.id
AND t1.fratid >= DATE_SUB( CURDATE( ), INTERVAL 7
DAY )
GROUP BY t2.id
ORDER BY antal DESC
LIMIT 0,1000";

Som det fremgår vil jeg gerne find de artikler grupperet på emner der
opfylder kravet at der er flere end 5 artikler. Hvordan gør jeg?

 
 
Martin (17-06-2009)
Kommentar
Fra : Martin


Dato : 17-06-09 12:42

Torben wrote:
> Hej venner
>
> Jeg slås med noget SQL i Mysql-sammenhæng: Min sql-forespørgsel ser i
> øjeblikket sådan ud:
>
> $query = "SELECT t2.navn,
> t2.id as emneID,
> COUNT( t1.id ) as antal
> FROM RV2_ARTIKLER as t1,
> RV2_EMNER as t2
> WHERE ( SELECT COUNT( * )
> FROM RV2_ARTIKLER as t3
> WHERE t1.id = t3.id ) > 1
> AND t1.emneID = t2.id
> AND t1.fratid >= DATE_SUB( CURDATE( ), INTERVAL 7
> DAY )
> GROUP BY t2.id
> ORDER BY antal DESC
> LIMIT 0,1000";
>
> Som det fremgår vil jeg gerne find de artikler grupperet på emner der
> opfylder kravet at der er flere end 5 artikler. Hvordan gør jeg?

HAVING antal* > 5
Lige efter eller før group by (kan ikke lige helt huske det)

* = Bemærk at antal i dette tilfælde er din COUNT() fra SELECT
HAVING skal have noget fra SELECT'en af for at kunne arbejde (husk at
fjerne stjernen)

Hvis jeg ellers har forstået spørgsmålet korrekt :)

Torben (19-06-2009)
Kommentar
Fra : Torben


Dato : 19-06-09 07:09

Tak Martin
Det virker bare!

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

Månedens bedste
Årets bedste
Sidste års bedste