13. marts 2001 - 12:24Der er
3 kommentarer og 2 løsninger
Brug af COUNT i SQL
I et debatforum, vil jeg gerne have et tal på hvor mange svar der er til hvert hovedspørgsmål, men jeg roder noget rundt i brugen af COUNT.
Min tabel ser sådan ud: DID - autonummer parent - tal (DID på parent besked) opretet_af oprettet_dato overskrift besked notify
Så når der oprettes en ny besked, er der ingen værdi i parent, men alle svar indeholder altså denne\'s DID.
PT er min SQL bare \"SELECT * FROM debat WHERE parent = NULL ORDER BY oprettet_dato;\" Men hvorfor kan jeg ikke i samme SQL få den til at tælle antallet af svar. !?!
select t1.overskrift,count(t2.did) as antalsvar from debat as t1, debat as t2 where t1.paren=null and t2.paren=t1.did group by t2.paren order by t1.oprettet_dato
Jeg har prøvet at tilrette den en smule, men den fungerer stadig ikke for mig...
Min tilrettede SQL ser sådan ud: SQL = \"SELECT t1.overskrift, t1.besked, t1.oprettet_dato, t1.oprettet_af, t1.DID, COUNT(t2.did) AS antalsvar FROM debat as t1, debat as t2 WHERE t1.parent = 0 AND t2.parent = t1.DID GROUP BY t2.parent ORDER BY t1.oprettet_dato;\"
Og min fejl ser sådan ud: Error Type: Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access Driver] You tried to execute a query that does not include the specified expression \'overskrift\' as part of an aggregate function. /include/functions.asp, line 20
Hvad bruges GROUP BY til i denne sammenhæng, det er jo rent faktisk kun det COUNT(t2.did) AS antalsvar jeg er ude efter, jeg vil jo ikke vise de næste beskeder endnu, der skal brugeren videre til en anden side.
Overskriften står kun i parent, men jeg ville da være ret ærgerlig over at smide det ud over 2 tabeller (hvis jeg kan slippe)
(\"Select * from test where test_kolonne = \'1\'; Select Count(*) From test as Antal;\").Nextrecordset
Det virker med Ms sql server.. men jeg ved jo ikke hvad du bruger .. sandsynligvis access?
Jeg går ud fra at pointen var at hente alt den data du skulle bruge ned i samme query ?
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.