Sommeren in query werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

George van Baasbank

George van Baasbank

05/08/2013 11:48:02
Quote Anchor link
Hallo allemaal,

Het SUM-gedeelte in onderstaande query werkt niet. Wat doe ik fout?? Het sommeert niet.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
select
            c.artikelnummer,
            c.titel,
            c.uitvoerende,
            COUNT(IF(month(factuurdatum) = 1, 'Ja', NULL)) AS januari,
            COUNT(IF(month(factuurdatum) = 2, 'Ja', NULL)) AS februari,
            COUNT(IF(month(factuurdatum) = 3, 'Ja', NULL)) AS maart,
            COUNT(IF(month(factuurdatum) = 4, 'Ja', NULL)) AS april,
            COUNT(IF(month(factuurdatum) = 5, 'Ja', NULL)) AS mei,
            COUNT(IF(month(factuurdatum) = 6, 'Ja', NULL)) AS juni,
            COUNT(IF(month(factuurdatum) = 7, 'Ja', NULL)) AS juli,
            COUNT(IF(month(factuurdatum) = 8, 'Ja', NULL)) AS augustus,
            COUNT(IF(month(factuurdatum) = 9, 'Ja', NULL)) AS september,
            COUNT(IF(month(factuurdatum) = 10, 'Ja', NULL)) AS oktober,
            COUNT(IF(month(factuurdatum) = 11, 'Ja', NULL)) AS november,
            COUNT(IF(month(factuurdatum) = 12, 'Ja', NULL)) AS december,
            

            SUM(IF(month(factuurdatum) = 1,'Ja', NULL)) AS januari_totaal,

            COUNT(b.id) as totaal
        from
            shop__bestellingen as b
        join
            shop__cd as c
        on
            c.artikelnummer = b.artikelnummer
        where
            YEAR(factuurdatum) = $cJaar
        group by
            artikelnummer
        order by
            totaal desc
        limit
            $cHitLijst";



George
Gewijzigd op 05/08/2013 12:11:22 door George van Baasbank
 
PHP hulp

PHP hulp

17/11/2024 16:57:23
 
Erwin H

Erwin H

05/08/2013 12:17:32
Quote Anchor link
laten we dit eens uitwerken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SUM(IF(month(factuurdatum) = 1,'Ja', NULL)) AS januari_totaal,

Dus als de maand van de factuurdatum gelijk is aan 1, dan krijg je een 'Ja', anders een NULL. Dus je krijgt een reeks 'Ja' en NULL en dat probeer je vervolgens op te tellen. Wat denk jij dat de uitkomst van 'Ja'+'Ja'+NULL+NULL is?
 
George van Baasbank

George van Baasbank

05/08/2013 12:22:40
Quote Anchor link
Omdat het bij COUNT wel goed gaat, heb ik dit overgenomen.
 
Erwin H

Erwin H

05/08/2013 14:09:29
Quote Anchor link
En niet nagedacht blijkbaar over het feit dat COUNT simpelweg het aantal niet NULL rijen telt en SUM de waardes uit de geselecteerde rijen telt.

Maar wat had je dan verwacht, dat SUM maar een zelf gekozen waarde gebruikt om op te tellen?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.