14. april 2004 - 18:46Der er
7 kommentarer og 2 løsninger
Problemer med GROUP BY
Vil bare høre om der nogen, der kunne hjælpe mig en med en simpel GROUP BY-funktion. Jeg trækker data ud fra to tabeller sådan her:
SELECT COUNT(D.destination_name), G.guide_ID, G.guide_contact FROM Guide_t G, Destination_t D WHERE G.destination_ID = D.destination_ID GROUP BY D.destination_name;
Jeg vil gerne have grupperet G.guide_ID, G.guide_contact efter destination_name, men skidtet virker ikke:-( Den skriver følgende fejl:
FEJL i linie 1: ORA-00979: not a GROUP BY expression
Ah - ikke rigtig, jeg vil gerne gruppere mine guider efter hvilken rejsemål(destination), de arbejder:
Spanien ------------ Anders Michael
Frankrig ------------ Kåre Lone
Etc. Har jeg misforstået hvad GROUP BY bruges til?
Synes godt om
Slettet bruger
14. april 2004 - 19:17#3
SELECT COUNT(D.destination_name), G.guide_ID, G.guide_contact FROM Guide_t G, Destination_t D WHERE G.destination_ID = D.destination_ID GROUP BY D.destination_name, G.guide_ID, G.guide_contact;
Synes godt om
Slettet bruger
14. april 2004 - 19:18#4
undskyld - lidt for hurtigt, trækker svaret tilbage
Synes godt om
Slettet bruger
14. april 2004 - 19:20#5
Du kan skrive:
SELECT D.destination_name, G.guide_ID, G.guide_contact FROM Guide_t G, Destination_t D WHERE G.destination_ID = D.destination_ID ORDER BY D.destination_name, G.guide_ID, G.guide_contact;
Ok, men så har helt misforstået GROUP BY:-( Jeg ville så mægtig gerne bruge en GROUP BY (på en eller anden måde, det er en skole-opgave), men jeg kan ikke få en sådan een til virke overhovedet. Den samme fejl som oven for, ligegyldig hvad jeg gør...
SELECT D.destination_name, count(G.guide_ID) antal FROM Guide_t G, Destination_t D WHERE G.destination_ID = D.destination_ID GROUP BY D.destination_name; ... så får du antallet for hver destination, i det mindste - og du har benyttet group by
Lige hurtigt - dit problem var, at i en SELECT GROUP BY skal alle kolonner enten indgå i en aggregeret funktion (MAX, SUM, MIN, AVG) eller indgå i GROUP BY betingelsen.
fejlen i din oprindelige select bestod i, at guide_id og guide_contact hverken fandtes i GROUP BY delen eller blev aggregeret.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.