webForumDet fria alternativet

SQL Fråga

4 svar · 240 visningar · startad av alfa

alfaMedlem sedan juni 2000202 inlägg
#1

Hur ska man göra för att få ut rätt lista när man ska ha ut ett urval
Genom datum

7 st 168 Bosse blå
5 st 571 Emelie grön
5 st 143 Lars lila
4 st 540 örjan klar
3 st 576 Frida Johansson
3 st 570 Åsa hjo
3 st 567 Vera Wolander
3 st 550 Lisa svensson
3 st 532 Larvar Lin
2 st 560 Hårfagre Harald
1 st 565 Simon Soccer
1 st 534 Kalle Anka
1 st 463 Johan Röd

När jag kör denna SQL sats funkar det.

SELECT varva_medlem.Kund_id, Count(varva_medlem.Kund_id) AS topp, Kund.Grad, Kund.Kund_namn, Kund.Kund_efternamn
FROM Kund INNER JOIN varva_medlem ON Kund.Kund_id = varva_medlem.Kund_id
GROUP BY varva_medlem.Kund_id, Kund.Grad, Kund.Kund_namn, Kund.Kund_efternamn, varva_medlem.betalt
HAVING (((varva_medlem.betalt)=True))
ORDER BY 2 DESC;

Men denna när jag ska ha ut resultatet mellan 2002-09-01 och 2002-09-30 funkar det inte
det blir

1 st 168 Bosse blå
1 st 571 Emelie grön
1 st 143 Lars lila
1 st 540 örjan klar
1 st 576 Frida Johansson
1 st 570 Åsa hjo
1 st 567 Vera Wolander

SELECT varva_medlem.Kund_id, Count(varva_medlem.Kund_id) AS topp, Kund.Grad, Kund.Kund_namn, Kund.Kund_efternamn
FROM Kund INNER JOIN varva_medlem ON Kund.Kund_id = varva_medlem.Kund_id
GROUP BY varva_medlem.Kund_id, Kund.Grad, Kund.Kund_namn, Kund.Kund_efternamn, varva_medlem.betalt, varva_medlem.datum
HAVING (((varva_medlem.betalt)=True) AND ((varva_medlem.datum)>#9/1/2002#<#9/30/2002#))
ORDER BY 2 DESC;

Hur ska jag göra för att få ut en topplista som baseras på datum?

LarsGMedlem sedan dec. 200012 465 inlägg
#2
SELECT varva_medlem.Kund_id, Count(varva_medlem.Kund_id) AS topp, Kund.Grad, Kund.Kund_namn, Kund.Kund_efternamn 
FROM Kund INNER JOIN varva_medlem 
ON Kund.Kund_id = varva_medlem.Kund_id 
where varva_medlem.betalt=True 
AND varva_medlem.datum between #9/1/2002# and #9/30/2002#
GROUP BY varva_medlem.Kund_id, Kund.Grad, 
Kund.Kund_namn, Kund.Kund_efternamn, varva_medlem.betalt, varva_medlem.datum 
ORDER BY 2 DESC
alfaMedlem sedan juni 2000202 inlägg
#3

Funkar fortfarade inte vill ha

7 <-- detta resultat

5 st 571 Emelie grön
5 st 143 Lars lila
4 st 540 örjan klar
3 st 576 Frida Johansson
3 st 570 Åsa hjo
3 st 567 Vera Wolander
3 st 550 Lisa svensson

blir

1 st 168 Bosse blå
1 st 571 Emelie grön
1 st 143 Lars lila
1 st 540 örjan klar

LarsGMedlem sedan dec. 200012 465 inlägg
#4

Jaha, då verkar det som om det är något tjall med med dina datum. Det ligger kanske lagrat 9:e januari istället för 1:a september?

OT:
Du har lite onödigt många kolumner med i group by

SELECT varva_medlem.Kund_id, Count(varva_medlem.Kund_id) AS topp, Kund.Grad, Kund.Kund_namn, Kund.Kund_efternamn 
FROM Kund INNER JOIN varva_medlem 
ON Kund.Kund_id = varva_medlem.Kund_id 
where varva_medlem.betalt=True 
AND varva_medlem.datum between #9/1/2002# and #9/30/2002#
GROUP BY varva_medlem.Kund_id, Kund.Grad, 
Kund.Kund_namn, Kund.Kund_efternamn
ORDER BY 2 DESC

Det har inget ditt nuvarande problem att göra.

alfaMedlem sedan juni 2000202 inlägg
#5

Tack LarsG

Du är en klippa

Alfa :birp

Genererad på 387 ms · cache AV · v20260730165559-full.f96bc7eb