Avatar billede tsearex999 Nybegynder
14. juni 2004 - 12:04 Der er 9 kommentarer

Rigtig mange gange count.. findes der en bedre måde?

Hejsa

Jeg har en mysql database med ca 10 tabeller i og tabellerne indeholder enten 0,1 eller 2, der er ca 10 felter i hver tabel.

Jeg skal have lavet en form for statistik og dertil bruger jeg count. Mit problem er at jeg er nød til at lave 100 gange count for at få alle felterne med.

Findes der en nemmere måde at tælle på?


Her er min kode:
$result = mysql_query("SELECT COUNT(*) AS antal
FROM  side
  INNER JOIN skema_a_du_alene ON (side.voldsid = skema_a_du_alene.voldsid)
  WHERE ((skema_a_du_alene.du_alene_ja_nej = 2 AND $soegestreng)) ") or die (mysql_error());

$antal = mysql_fetch_array($result);
$antal_du_alene_ja_nej = $antal["antal"] ;

Jeg håber at jeg har forklaret mig godt nok.
Avatar billede arne_v Ekspert
14. juni 2004 - 12:13 #1
Jeg kan slet ikke gennemskue dit problem.

Umiddelbart vil jeg tro at GROUP BY er løsningen.

SELECT x,COUNT(*)
FROM ...
GROUP BY x
Avatar billede arne_v Ekspert
14. juni 2004 - 12:13 #2
Den laver en optælling for alle forskellige værdier af x
Avatar billede tsearex999 Nybegynder
14. juni 2004 - 12:37 #3
jeg prøver lige igen:

jeg har en tabel med 15 felter, de kan have værdien 0,1 eller 2. Jeg vil gerne vide hvor mange gange der står 2 i felt 1
Avatar billede arne_v Ekspert
14. juni 2004 - 12:42 #4
SELECT COUNT(*) FROM tabel WHERE felt=2

tæller det op.

SELECT felt,COUNT(*) FROM tabel GROUP BY felt

tæller antal op for hver af værdierne 0, 1 og 2

Jeg mener ikke at der er nogen smart måde at få talt antallet med værdi 2
op for 15 forskellige felter.

Du kan naturligvis stable resultaterne oven på hinanden med UNION men det
pynter jo ikke meget.

Grundliggende tror jeg at du skulel have valgt en anden tabel struktur med
felt (svarende tilnuværende felt) og så type (med værdier 1-15).

Fordi så kunne du have lavet:

SELECT type,COUNT(*) FROM tabel GROUP BY type
Avatar billede tsearex999 Nybegynder
14. juni 2004 - 12:56 #5
"Grundliggende tror jeg at du skulel have valgt en anden tabel struktur med
felt (svarende tilnuværende felt) og så type (med værdier 1-15)"

Det var jeg også lidt bange for..
Avatar billede tsearex999 Nybegynder
17. juni 2004 - 11:45 #6
Ok.. det hjalp ikke ret meget men du skal have tak for hjælpen er 100 point nok?

Et svar tak
Avatar billede arne_v Ekspert
17. juni 2004 - 11:51 #7
meget fint
Avatar billede arne_v Ekspert
01. juli 2004 - 21:52 #8
Tid at få afsluttet spørgsmålet ?
Avatar billede arne_v Ekspert
14. juli 2004 - 22:34 #9
??
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
Computerworld tilbyder specialiserede kurser i database-management

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