18. juni 2003 - 23:11Der er
3 kommentarer og 2 løsninger
1 count fra flere felter
Hej kloge mennesker :)
Jeg har en tabel, med 3 felter (MySQL). I den tabel ønsker jeg at udlede hvor mange gange "ord" er skrevet. Altså én værdi for alle 3 felter. Kan det gøres med count() ? Har ledt mange steder, bl.a. her på siden, men uden held...
ahy >> duer ikke hvis det er meningen, at 'ord' skal tælle for hver forekomst. Fx hvis der står 'ord' i både felt1 OG felt2 i den samme record. Dette vil kun blive talt som 1.
Man kan istedet lave sammentællingen således:
SELECT ( (IIF(felt1='ord',1,0)+(IIF(felt2='ord',1,0)+(IIF(felt3='ord',1,0)) as antal FROM tabel WHERE felt1='ord' OR felt2='ord' OR felt3='ord'
Først og fremmest tak for hjælpen. Det ser umiddelbart ud som om, det er lige præcis det jeg gerne vil have, men løber ind i et lille problem. Mine felter hedder "menu1", "menu2" og "menu3" og jeg søger på ordet "as_tundra". Min kode ser nu sådan ud:
<? $db = mysql_connect("mysql.fairhost.dk","cswarning","pass"); $q = "SELECT * FROM tele2 ORDER BY 'id' DESC"; $res = mysql_db_query("cswarning",$q,$db); $query = mysql_query("SELECT ( (IIF(menu1='as_tundra',1,0)+(IIF menu2='as_tundra',1,0)+(IIF(menu3='as_tundra',1,0)) as antal FROM tele2 WHERE menu1='as_tundra' OR menu2='as_tundra' OR menu3='as_tundra'"); $antal = mysql_fetch_array($query);{ echo $antal[antal];} ?>
Men det giver desværre denne fejl: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /fairhost/cswarning/syndicate.dk/tele2/test.php on line 7
Kunne ikke huske hvem af jer, der skulle have point hvis overhovedet nogen skulle... Så håber i er tilfredse med at dele lidt. Beklager at jeg ikke har lukket tidligere.
/Jaw
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.