MySQL: Summe GROUP BY MIT ROLLUP Neugier

Ich habe zwei Abfragen. Eine davon macht Sinn für mich, die anderen nicht. Erste:

SELECT gender AS 'Gender', count(*) AS '#'
    FROM registrations 
    GROUP BY gender WITH ROLLUP

Dass mir dies:

Gender       #
Female      20
Male        19
NULL        39

So, ich bekomme die Zählung und die Gesamtzahl. Was ich erwartet habe. Nächsten:

SELECT c.printable_name AS 'Country', count(*) AS '#' 
    FROM registrations r 
    INNER JOIN country c ON r.country = c.country_id 
    GROUP BY country WITH ROLLUP

Country         #
Denmark         9
Norway         10
Sweden         18
United States   1
Uzbekistan      1
Uzbekistan     39

Gleiche Ergebnis. Aber warum bekomme ich in Usbekistan für die gesamte??

Wie sicher sind Sie, dass ist nicht das Problem, wie die Ergebnisse angezeigt werden?
es passiert sowohl in meinem code, und in phpmyadmin die Sache. ich wünschte, ich könnte versuchen, es zu testen mit regelmäßigen mysql query browser " oder sowas, aber keinen Zugang haben.
Ich war nur Herumspielen mit Rollup zu. Ich denke, das problem hier ist, dass Sie sich für die Landes-id auf den Namen des Landes, so dass alle NULL-Werte nicht, die verbinden, und aus irgendeinem Grund halten den letzten Wert der name anstelle der nicht mit einem Namen.

InformationsquelleAutor Svish | 2009-03-18

Schreibe einen Kommentar