webForumDet fria alternativet

BETWEEN ser inte ut som funka

5 svar · 1 400 visningar · startad av dwmedia

dwmediaMedlem sedan nov. 2006188 inlägg
#1

Jag har testad försöka få ut resultatet från mysql nu, i enskilda åldrar mellan 0-17
18-24
25-34
35-44
+45

i åldern vill få ut hur många medlemmar jag har ur tabelen born som har formatet yyyy-mm-dd

Håller på räkna ut % satsen på hur många jag har i enskilda fall någon som kan hjälpa mig komma fram en bit.

<?php
                        $sql = "SELECT
                        SUM(IF((YEAR(CURDATE())-YEAR(born)) - (RIGHT(CURDATE(),5) < RIGHT(born,5)) <= 17, 1, 0)) AS '0-17 år',
                        SUM(IF((YEAR(CURDATE())-YEAR(born)) - (RIGHT(CURDATE(),5) < RIGHT(born,5)) BETWEEN 18 AND 24, 1, 0)) AS '18-24 år',
                        SUM(IF((YEAR(CURDATE())-YEAR(born)) - (RIGHT(CURDATE(),5) < RIGHT(born,5)) BETWEEN 25 AND 34, 1, 0)) AS '25-34 år',
                        SUM(IF((YEAR(CURDATE())-YEAR(born)) - (RIGHT(CURDATE(),5) < RIGHT(born,5)) BETWEEN 35 AND 44, 1, 0)) AS '35-44 år',
                        SUM(IF((YEAR(CURDATE())-YEAR(born)) - (RIGHT(CURDATE(),5) < RIGHT(born,5)) >= 45, 1, 0)) AS '+45 år'
                        FROM Users WHERE bortagna = '0' AND aktiverad = '2'";
                        $result = mysql_query($sql, $conn);
                        while($row = mysql_fetch_array($result)) {
                        }
?>
OldtimerMedlem sedan juni 201161 inlägg
#2

mySql är ju inte min databas, så jag har ingen aning hur deras IF i en SELECT fungerar.. eller inte. Varför inte prova att använda CASE?

dwmediaMedlem sedan nov. 2006188 inlägg
#3

Har fått till det hjälpte med lite sömn och lite mat så var problemet löst :)

OldtimerMedlem sedan juni 201161 inlägg
#4

Sömn och mat rättar många buggar. :)

@ndersMedlem sedan juni 200032 969 inlägg
#5

På vilket sätt var Oldtimers inlägg lösningen på ditt problem?

Posta lösningen istället och markera ditt eget inlägg som "lösning". Det här hjälper väl ingen?

dwmediaMedlem sedan nov. 2006188 inlägg
#6

Man är ju tvungen tar ut raderna på den innan

}

Så var jag tvungen skapa typ

$varbelnamn = $row;

sedan $varbelnamn[0]; $varbelnamn[1];

Kom på det själv var ju skit trött, och hungrig gick ju ann efter lite mat och sömn.
Var dock lite för snabb på posta men man blir så jävla grining när man inte ser sina fel och man är trött :P så försöker man ta hjälp av andra till lösa simpla fel.

132 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)