Vedr. COUNT funktionen

Tags:    databaser

Hej jeg vil bare gerne høre om det er muligt at denne COUNT(dataframysql) ikke tæller tomme felter med? Og på en eller anden smart måde undgå at bruge GROUP BY fordi jeg ikke gider have flere forskellige "grupper", vil bare et tal :)

Har prøvet disse to følgende måder:
Fold kodeboks ind/udPHP kode 

Fold kodeboks ind/udPHP kode 


Mange tak! Desværre ingen points til jer :(



Indlæg senest redigeret d. 30.09.2008 22:05 af Bruger #13723
SELECT .... WHERE valid = 1 AND navn NOT NULL AND navn <> ''

Men GROUP BY giver ikke rigtig flere grupper. Det gruppére ens værdier til en række.

eks. "GROUP BY valid " vil give to rækker. En med valid=0 og en med valid=1



Indlæg senest redigeret d. 30.09.2008 22:19 af Bruger #10216
Nu prøvede jeg og det gav ikke rigtig noget :( ud over en fejl.

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NULL AND navn <>' at line 1

[code land="php"]
$query9 = "SELECT COUNT(navn),navn FROM fest_tilmelding WHERE valid = 1 AND navn NOT NULL AND navn <> ";
$result9 = mysql_query($query9) or die(mysql_error());
while($r = mysql_fetch_array($result9)){
$navn = $r['COUNT(navn)'];
echo "<label>$navn</label><br />";

}
[/code]




Indlæg senest redigeret d. 30.09.2008 22:28 af Bruger #13723
Ah... fordi jeg glemte noget...
WHERE navn IS NOT NULL :)

Sådan kan det jo gå, når man ikke gider at tjekke dokumentationen
http://dev.mysql.com/doc/refman/5.0/en/working-with-null.html



Indlæg senest redigeret d. 30.09.2008 22:40 af Bruger #10216
Kan godt nok stadig ikke få det til at virke :(

"SELECT COUNT(navn),navn FROM fest_tilmelding WHERE valid = 1 AND navn IS NOT NULL"
?? Fatter ikke lige helt den dokumentation



Indlæg senest redigeret d. 30.09.2008 22:57 af Bruger #13723
Arrh men så tjek da koden for fejl. Du ved jo godt hvordan man redigerer i sin egen kode.

Fold kodeboks ind/udKode 




Med min ret begrænsede viden inden for DBs:

Hvis du kun vil ha' et tal skal du ikke hente data'en fra ven2, hvor der er X antal datarows, hvor count() kun returnere ét tal (én row) og ikke uden videre kan stå i samme table som "X antal".

"SELECT COUNT(ven2) FROM fest_tilmelding WHERE valid = 1 AND ven2 IS NOT NULL"

og kan vidst også gøres med:

"SELECT COUNT(DISTINCT ven2) FROM fest_tilmelding WHERE valid = 1"

aner ikke hvad der er hurtigst...
men hæng mig ikke på på det, DBs er ikke mit felt.



Indlæg senest redigeret d. 30.09.2008 23:24 af Bruger #14100
Orgh super tak! Den ville dog stadig have en group by :( Men har fundet en god metode :) Mange tusind tak!



t