webForumDet fria alternativet

BETWEEN ser inte ut som funka

Databaser & SQL

5 svar · 1 402 visningar · startad av dwmedia

Medlem sedan nov. 2006188 inlägg
Frågan#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)) {
                        }
?>
Medlem 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?

Medlem 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 :)

Medlem sedan juni 201161 inlägg
#4

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

Medlem sedan juni 200032 967 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?

Medlem 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.

389 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
128 ms — deklarationer (db)
124 ms — hämta statistik (db)
134 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)