Avatar billede dkkarpen Nybegynder
12. december 2000 - 13:26 Der er 22 kommentarer og
1 løsning

Group by

Hvordan er det jeg laver følgende opstilling med en group by.

select felt1, felt2, fel3 from db group by felt1

Udskrift

fel1
felt2 felt 3
felt2 felt 3
felt2 felt 3
felt2 felt 3

felt1
felt2 felt 3
felt2 felt 3

osv.
Avatar billede kasseper Nybegynder
12. december 2000 - 13:29 #1
du kan ikke lave group by på en delmængde af de valgte felter prøv evt med :
select distinct felt, felt2,felt3 from db
Avatar billede dkkarpen Nybegynder
12. december 2000 - 13:32 #2
Ok så

Jeg har f.eks. et felt hvor posternes kategori er i.

Jeg vil gerne have en udskrift således at posterne bliver udskrevet under deres respektive kategorier.
Avatar billede sone Nybegynder
12. december 2000 - 13:32 #3
Som du selv skriver: select felt1, felt2, felt3 from db group by felt1
Avatar billede dkkarpen Nybegynder
12. december 2000 - 13:33 #4
Ok så san her:

felt1
felt 1 felt2 felt 3
felt 1 felt2 felt 3
felt 1 felt2 felt 3

felt1
felt 1 felt2 felt 3
felt 1 felt2 felt 3
Avatar billede dkkarpen Nybegynder
12. december 2000 - 13:33 #5
san = sådan
Avatar billede dkkarpen Nybegynder
12. december 2000 - 13:36 #6
Se f.eks. http://www.danlandbrug.dk/Frame.asp?HTMLPage=Emner&Type=asp

Her er posterne sorteret efter deres type. Det er der jeg vil hen.
Avatar billede sone Nybegynder
12. december 2000 - 13:38 #7
Ja, lav GROUP BY på det felt du vil gruppere efter!
F.eks.: select felt1, felt2, felt3 from db group by felt1
Avatar billede dkkarpen Nybegynder
12. december 2000 - 13:43 #8
Ja men det giver en fejl!

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-driver] Du har forsøgt at køre en forespørgsel, der ikke medtager det angivne udtryk \"grundareal\" som en del af en aggregatfunktion.
Avatar billede sone Nybegynder
12. december 2000 - 13:47 #9
Må vi se din SQL
Avatar billede dkkarpen Nybegynder
12. december 2000 - 13:50 #10
Ja

SELECT driftsform, grundareal, postnummer, city, kontantpris, boligid FROM boliger group by driftsform
Avatar billede kasseper Nybegynder
12. december 2000 - 13:52 #11
som jeg sagde efter 3 min, så kan du ikke lave group by på en delmængde af de valgte felter
Avatar billede dkkarpen Nybegynder
12. december 2000 - 13:53 #12
Hvad kan jeg så gøre...?
Avatar billede kasseper Nybegynder
12. december 2000 - 13:53 #13
og hvis du f.eks laver den sådan her :
SELECT driftsform, grundareal, postnummer, city, kontantpris, boligid FROM boliger group by driftsform, grundareal

vil du få :

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-driver] Du har forsøgt at køre en forespørgsel, der ikke medtager det angivne udtryk \"postnummer\" som en del af en aggregatfunktion.
Avatar billede erikjacobsen Ekspert
12. december 2000 - 13:55 #14
Skitse:

  select felt1, felt2, fel3 from db order by felt1

  gammel=\"\";

  while (not rs.EOF) {
    if gammel<>rs(\"felt1\") then
        response.write \"<h1>\" & rs(\"felt1\")  & \"</h1>\"
        gammel=rs(\"felt1\")
    end if
    response.write rs(\"felt1\")  &  rs(\"felt3\")
    rs.movenext
  }
 
   
Avatar billede erikjacobsen Ekspert
12. december 2000 - 13:55 #15
Måske endda:

response.write rs(\"felt2\")  &  rs(\"felt3\")
Avatar billede kasseper Nybegynder
12. december 2000 - 14:01 #16
sql1 = \"select driftsform from boliger group by driftsform \"
set rs = Conn.execute(sql1)
while Not rs.eof
sql2 \"select grundareal, postnummer, city, kontantpris, boligid FROM boliger where driftsform = \'& rs(\"driftsform\") & \"\'\"
set rs2 = Conn.execute(sql2)

response.write \"<b>\" & rs(\"driftsform\") & \"</b><br>\"

while Not rs2.eof
response.write rs2(\"grundareal\") & \" - \" & rs2(\"postnummer\") & \" osv.osv\"
rs2.movenext
wend
rs.movenext
wend


rs.close
rs2.close
set rs = nothing
set rs2 = nothing






er en måde at gøre det på.
Du skal bare selv klare det design mæssige og indsætte for resten af oplysningerne
Avatar billede kasseper Nybegynder
12. december 2000 - 14:01 #17
arrrrrr for langsom igen
Avatar billede sone Nybegynder
12. december 2000 - 14:05 #18
Hvis du vil lave det jeg tror - og det som kasseper svarer på, kan du da nøjes med ORDER BY

Så virker din WHILE stadig
Avatar billede erikjacobsen Ekspert
12. december 2000 - 14:06 #19
Hehe, kasseper (Kasper?) - min laver kun én forespørgsel. Din laver
mange. Jeg tror min er bedre ....
Avatar billede sone Nybegynder
12. december 2000 - 14:06 #20
sorry... som erikjacobsen skitserer
Avatar billede erikjacobsen Ekspert
12. december 2000 - 14:08 #21
Hovsa --- min syntax kom vist til at ligne PHP .... som man
siger: \"Hvad er hjertet er fuldt af ...\" - men det var nu også kun
en skitse!
Avatar billede dkkarpen Nybegynder
12. december 2000 - 14:10 #22
Kassepers bud er forståeligt. Den køber jeg.
Avatar billede kasseper Nybegynder
12. december 2000 - 14:17 #23
erikjacobsen >> Ja det er Kasper....;-) og din er da ikke ret meget php !?????
Men du har ret í at din er noget hurtigere og nok mere snedig...
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB