/ 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
MSSQL : Gruppering
Fra : Kasper Kamp Simonsen


Dato : 19-02-03 14:26

Hej NG!

Jeg har en forspørgsel som kunne se sådan her ud

SELECT * FROM table
WHERE
(http_refererid.http_referer LIKE '%soeg.jubii.dk%') OR
(http_refererid.http_referer LIKE '%verden.jubii.dk%') OR
(http_refererid.http_referer LIKE '%super.jubii.dk%')

Nu kunne jeg godt tænke mig at tælle hvormange entrys der passede på hver af
de tre LIKE's, nogen som kan fortælle mig hvordan jeg gør det?

/Kasper



 
 
Jens Gyldenkærne Cla~ (19-02-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 19-02-03 14:45

Kasper Kamp Simonsen skrev:

> SELECT * FROM table
> WHERE
> (http_refererid.http_referer LIKE '%soeg.jubii.dk%') OR
> (http_refererid.http_referer LIKE '%verden.jubii.dk%') OR
> (http_refererid.http_referer LIKE '%super.jubii.dk%')
>
> Nu kunne jeg godt tænke mig at tælle hvormange entrys der
> passede på hver af de tre LIKE's, nogen som kan fortælle mig
> hvordan jeg gør det?

Du kan formentlig bruge CASE:

SELECT COUNT(*) as antal,
   CASE
       WHEN http_referer LIKE '%soeg.jubii.dk%' THEN 'soeg'
       WHEN http_referer LIKE '%verden.jubii.dk%' THEN 'verden'
       WHEN http_referer LIKE '%soeg.jubii.dk%' THEN 'super'
       ELSE 'tom'
   END as gruppe
FROM http_refererid
WHERE (http_refererid.http_referer LIKE '%soeg.jubii.dk%') OR
    (http_refererid.http_referer LIKE '%verden.jubii.dk%') OR
    (http_refererid.http_referer LIKE '%super.jubii.dk%')
GROUP BY
   CASE
       WHEN http_referer LIKE '%soeg.jubii.dk%' THEN 'soeg'
       WHEN http_referer LIKE '%verden.jubii.dk%' THEN 'verden'
       WHEN http_referer LIKE '%soeg.jubii.dk%' THEN 'super'
       ELSE 'tom'
   END as gruppe

Hvis du lægger CASE-funktionen ind i et view kan du slippe for at
skrive den to gange.

--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO - www.fiduso.dk)
I ovenstående tekst benyttes nyt komma
(rettelser modtages gerne i dk.kultur.sprog)

Kristian Damm Jensen (19-02-2003)
Kommentar
Fra : Kristian Damm Jensen


Dato : 19-02-03 14:50

Kasper Kamp Simonsen wrote:
>
> Hej NG!
>
> Jeg har en forspørgsel som kunne se sådan her ud
>
> SELECT * FROM table
> WHERE
> (http_refererid.http_referer LIKE '%soeg.jubii.dk%') OR
> (http_refererid.http_referer LIKE '%verden.jubii.dk%') OR
> (http_refererid.http_referer LIKE '%super.jubii.dk%')
>
> Nu kunne jeg godt tænke mig at tælle hvormange entrys der passede på hver af
> de tre LIKE's, nogen som kan fortælle mig hvordan jeg gør det?

SELECT 'soeg' as entry, count(*) as antal FROM table
WHERE
(http_refererid.http_referer LIKE '%soeg.jubii.dk%')

union

SELECT 'verden' as entry, count(*) as antal FROM table
WHERE
(http_refererid.http_referer LIKE '%verden.jubii.dk%')

union

SELECT 'super' as entry, count(*) as antal FROM table
WHERE
(http_refererid.http_referer LIKE '%super.jubii.dk%')


--
Kristian Damm Jensen | Feed the hungry at www.thehungersite.com
kristian-damm.jensen@cgey.com | Two wrongs doesn't make a right,
ICQ# 146728724 | but three lefts do.


Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste