Datenbank Forum - für Anfänger und Profis

Willkommen im Datenbank Forum von Datenbanken-verstehen.de - Das Datenbank, Data Warehouse & Business Intelligence Forum!

Das Datenbank Forum für Anfänger und Profis ist eine Community zu den Themen Datenbanken, Data Warehouse & Business Intelligence. Nimm teil an der Community von Datenbanken-verstehen.de und tausch dich mit deinen Fragen und Lösungen mit anderen Nutzern aus.

Als registrierter Benutzer genießt Du viele Vorteile, wie

  • den vollen Zugang zu allen Foren und Unterforen
  • Kostenloses Lernmaterial inkl. Lösungen zum Thema Datenbanken
  • Zugriff auf DB-Tutorials, Best Practices und SQL-Snippets

Bevor Du einen Beitrag verfassen möchtest, kannst Du dich einfach kostenlos registrieren.

oder Einloggen mit



Beachte bitte die Forenregeln von Datenbanken-verstehen.de. Wir wünschen Dir viel Spaß im Datenbank Forum! - Dein Datenbanken-verstehen.de-Team

Keine Gruppenfunktion Fehler

Hier werden die SQL Grundlagen behandelt...

Keine Gruppenfunktion Fehler

Beitragvon Betty » Sa 14. Okt 2017, 19:31

Hallo,

ich habe versucht eine Aufgabe zu lösen, wobei ich aus Zwei Tabellen die Bewohner (tabelle country) und Prozent (Tabelle Population) genommen habe um die Anzahl der Gläubiger einer Religion zu bestimmen. Leider kriege ich immer wieder die Fehlermeldung Keine Gruppenfunktion... . (in den Tabellen sind so Ziemlich alle Staaten der Welt. Es ist die Mondial Datenbank).
Was genau ist den Falsch und warum kommt diese Fehlermeldung?

Code: Alles auswählen
select religion.name, country.name, round(sum(population*percentage)/100) anzahl
from MONDIAL.religion
join MONDIAL.country
on religion.country=country.code
order by 2 desc;


Danke im Vorraus.
Betty
 
Beiträge: 1
Registriert: Sa 14. Okt 2017, 19:22

Re: Keine Gruppenfunktion Fehler

Beitragvon SQLUnion » Sa 14. Okt 2017, 20:31

Hallo Betty,

wenn Du Summierungen einbaust, werden Aggregationen gebildet und die müssen per SQL GROUP BY gruppiert werden.
Code: Alles auswählen
select religion.name, country.name, round(sum(population*percentage)/100) anzahl
from MONDIAL.religion
join MONDIAL.country
on religion.country=country.code
group by religion.name, country.name
order by 2 desc;

Gruß,
SQLUnion
SQLUnion
 
Beiträge: 153
Registriert: Fr 1. Nov 2013, 15:54

Re: Keine Gruppenfunktion Fehler

Beitragvon chuky666 » Mo 16. Okt 2017, 14:11

Hallo zusammen :)

dazu kommt noch das dein "order by 2 desc" eher suboptimal ist. Stell dir vor es ändert sich die Reihenfolge im Select so das "country.name" nicht mehr an der zweiten stelle ist ;)

ORDER BY country.name wäre hier sauberer :)

Das aber nur als Randbemerkung :)
chuky666
 
Beiträge: 56
Registriert: Mo 28. Sep 2015, 21:04


Zurück zu SQL Grundlagen

 


  • Related topics
    Antworten
    Zugriffe
    Letzter Beitrag

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

  • Jetzt Fan werden
  • Newsletter abonnieren? Hier anmelden!

    Alle Informationen aus dem Portal, Blog und Forum in einem Newsletter!

    E-Mail-Adresse: