Wieso muss der Null sein ?Du kannst mit einem join arbeiten. also du join die gleiche Tabelle mit der Anforderung, dass der Wert in der join Tabelle größer ist als der in der from Tabelle und dann im where muss der gehointe Wert null sein
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Wieso muss der Null sein ?Du kannst mit einem join arbeiten. also du join die gleiche Tabelle mit der Anforderung, dass der Wert in der join Tabelle größer ist als der in der from Tabelle und dann im where muss der gehointe Wert null sein
Wieso muss der Null seinDu kannst mit einem join arbeiten. also du join die gleiche Tabelle mit der Anforderung, dass der Wert in der join Tabelle größer ist als der in der from Tabelle und dann im where muss der gehointe Wert null sein
select abt.*
from abteilung abt
join (
select abteilungid,
dense_rank() over (order by count(*) desc) as rnk
from angestellte
group by abteilungid
) ang on ang.abteilungid = abt.id and ang.rnk = 1
siehe @castorp . Gute Idee ...Kann man auch in der selben Tabelle immer alle Werte miteinander vergleichen muss man ja einen Wert haben der größer als alle anderen ist
select a1.abteilungid,
count(*) as num_angestellte
from angestellte a1
group by a1.abteilungid
having count(*) >= ALL (select count(*)
from angestellte a2
where a1.abteilungid <> a2.abteilungid)
Danke !! Aber wieso <> muss es nicht nur >Du kannst es auch mit >= ALL machen:
Code:select a1.abteilungid, count(*) as num_angestellte from angestellte a1 group by a1.abteilungid having count(*) >= ALL (select count(*) from angestellte a2 where a1.abteilungid <> a2.abteilungid)
Das wieder mit der Abteilungstabelle zu joinen um den Namen zu bekommen überlasse ich Dir.
P.S.: in SQL Server geht es sowieso grundsätzlich nur ohne LIMIT, da dort weder LIMIT noch FETCH FIRST n ROWS ONLY unterstützt wird