|
| Oracle/dbi - GROUP BY Fra : Peter Heinzl |
Dato : 18-01-01 11:49 |
|
Jeg har et problem med "GROUP BY kategori"
Nedenstående virker fint uden "GROUP BY kategori"
Men altså ikke som her med:
$sth = $dbh->prepare(qq{
select
pakkenummer,overskrift1,overskrift2,pris,foto,tekst,kategori,ID,language
from tdkkatalog GROUP BY kategori
}) or die "Fejl... $dbh->errstr\n";
Peter
| |
Thomas Eibner (18-01-2001)
| Kommentar Fra : Thomas Eibner |
Dato : 18-01-01 14:59 |
|
Peter Heinzl wrote:
>
> Jeg har et problem med "GROUP BY kategori"
> Nedenstående virker fint uden "GROUP BY kategori"
> Men altså ikke som her med:
>
> $sth = $dbh->prepare(qq{
> select
> pakkenummer,overskrift1,overskrift2,pris,foto,tekst,kategori,ID,language
> from tdkkatalog GROUP BY kategori
> }) or die "Fejl... $dbh->errstr\n";
Det er ikke helt et perl spørgsmål det her, hører nærmere til ovre i
dk.edb.database.
Hvad er det egentlig du vil her? Vil du have dem ud i en bestemt
rækkefølge eller hvad?
Så vidt jeg husker bruges GROUP BY kun når der osse er en aggregate
funktion i din sql (såsom count, min, max, avg af en kolonne).
--
Thomas Eibner - < http://thomas.eibner.dk/>
| |
Peter (18-01-2001)
| Kommentar Fra : Peter |
Dato : 18-01-01 17:20 |
|
> Det er ikke helt et perl spørgsmål det her, hører nærmere til ovre i
> dk.edb.database.
God ide. det har jeg gjort
>
> Hvad er det egentlig du vil her? Vil du have dem ud i en bestemt
> rækkefølge eller hvad?
Formålet er at få en liste med kategorier (hvor hver enkelt kategori kun
optræder én gang selv om den ligger i eksempelvis 50 poster)
Jeg har kigget i oraclemaulalen og synnes selv jeg følger eksemplerne.
jeg har det samme problem med "where" (SELECT from ditten WHERE
datten='noget')
> Så vidt jeg husker bruges GROUP BY kun når der osse er en aggregate
> funktion i din sql (såsom count, min, max, avg af en kolonne).
Tak.............det vil jeg dykke ned i.
Peter
| |
Thomas Eibner (19-01-2001)
| Kommentar Fra : Thomas Eibner |
Dato : 19-01-01 09:23 |
|
Peter wrote:
> Formålet er at få en liste med kategorier (hvor hver enkelt kategori kun
> optræder én gang selv om den ligger i eksempelvis 50 poster)
> Jeg har kigget i oraclemaulalen og synnes selv jeg følger eksemplerne.
> jeg har det samme problem med "where" (SELECT from ditten WHERE
> datten='noget')
Jeg er ikke helt sikker på hvad det er du vil have, men her er et
eksempel på group by:
Hvis du vil vide hvor mange pakkenumre der er i hver kategori (fiktivt
eksempel da jeg ikke ved hvordan din tabel ser ud)
"select kategori, count(pakkenummer) from tdkkatalog group by kategori"
hvor resultatet ville blive: (igen fiktivt)
Kategori count(pakkenummer)
Kategori1 10
Kategori2 20
Var det lettere at forstå? Ellers må du prøve at fortælle hvad dit behov
er.
--
Thomas Eibner - < http://thomas.eibner.dk/>
| |
Allan Olesen (19-01-2001)
| Kommentar Fra : Allan Olesen |
Dato : 19-01-01 22:14 |
|
"Peter" <peter@cgi-shop.dk> wrote:
>Formålet er at få en liste med kategorier (hvor hver enkelt kategori kun
>optræder én gang selv om den ligger i eksempelvis 50 poster)
Findes der ikke en SELECT DISTINCT på sådan noget maskineri?
--
Allan Olesen, Lunderskov
Hvorfor er det kun Nej-sigerne, der må køre 55 i byen?
| |
Thorbjørn Ravn Ander~ (19-01-2001)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 19-01-01 11:53 |
|
Peter Heinzl wrote:
>
> Jeg har et problem med "GROUP BY kategori"
> Nedenstående virker fint uden "GROUP BY kategori"
> Men altså ikke som her med:
>
> $sth = $dbh->prepare(qq{
> select
> pakkenummer,overskrift1,overskrift2,pris,foto,tekst,kategori,ID,language
> from tdkkatalog GROUP BY kategori
> }) or die "Fejl... $dbh->errstr\n";
Mener du ikke "ORDER BY" i stedet?
--
Thorbjørn Ravn Andersen "...sound of...Tubular Bells!"
http://bigfoot.com/~thunderbear
| |
|
|