SQL Befehle Aggregatfunktion hilfe?

1 Antwort

das ist ja Babykram:

wie viele Bilder sind pro Kategorie gespeichert?

select b.kategorie , count(1) from bild b group by b.kategorie;

Sortiere nach der Anzahl absteigend

select b.kategorie , count(1) from bild b group by b.kategorie order by 2 desc;

gib nur die Kategorien mit mehr als 5 Bildern aus

select x.kategorie from (select b.kategorie , count(1) anzahl from bild b group by b.kategorie) x where x.anzahl > 5;

Woher ich das weiß:Berufserfahrung

Memmienoobs 
Beitragsersteller
 15.05.2020, 18:46

wie lautet der SQL Befehl wenn es heißt

  1. Gib die Anzahl der Benutzer pro Ort aus und sortiere nach der Anzahl absteigend.
  2. Aus welchen Orten kommen mehr als 10 Benutzer?
  3. Gib pro Benutzer aus, wann der letzte Blogeintrag verfasst wurde

Würdest mir echt helfen und wäre echt super lieb :)

vorhautloser641  15.05.2020, 19:03
@Memmienoobs

Gib die Anzahl der Benutzer pro Ort aus und sortiere nach der Anzahl absteigend.

select b.ort, count(1) from benutzer b group by b.ort order by 2 desc;

Aus welchen Orten kommen mehr als 10 Benutzer?

select x.ort from (select b.ort , count(1) anzahl from benutzer b group by b.ort) x where x.anzahl > 10;

Gib pro Benutzer aus, wann der letzte Blogeintrag verfasst wurde

select be.vorname, be.name, max(bl.erstellt) from blog bl, benutzer be where be.pnr = bl.pnr group by be.vorname, be.name;

das gilt für Oracle SQL, vielleicht ist es für deine Zwecke etwas anders

vorhautloser641  15.05.2020, 19:50
@Memmienoobs

das ist eine Alias Bezeichnung für benutzer du kannst es auch vollständig ausscheiben aber dazu bin ich zu faul, also so...
select bild.kategorie , count(1) from bild group by bild.kategorie;

Memmienoobs 
Beitragsersteller
 15.05.2020, 18:45

Ich danke dir könntest du mir bitte noch weiter helfen?