Aktywne Wpisy
rybsonk +4
Ostatnio gadałem z kumplem o gierkach i czasach podstawówki i tak mnie naszło, że aż zrobię ankietę. Mireczki, jaka gra jest dla was pierwszą która przychodzi do głowy gdy myślicie o dzieciństwie? Głosujcie w ankiecie:
#gry #grypc #ankieta #ciekawostki #grajzwykopem #gryparatowaniapoziomu
#gry #grypc #ankieta #ciekawostki #grajzwykopem #gryparatowaniapoziomu
Gra dzieciństwa to:
- GTA V 7.3% (32)
- Fortnite 3.2% (14)
- Minecraft 13.6% (60)
- Roblox 2.3% (10)
- League of Legends 6.4% (28)
- Fallout 4 1.4% (6)
- Skyrim 7.7% (34)
- Inna (napisz w komentarzu jaka) 58.2% (256)
Sla_Voy +1485
select department_id, avg(salary)
from employees
having avg(salary) = (select max(avg(salary))
from employees
group by department_id)
group by department_id;
#oracle #sql
select max(avg(salary))
from employees
group by department_id
FROM employees
GROUP BY departmentid
ORDER BY salary DESC
LIMIT 1;
czy tam ROWLIMIT 1. Nie pamiętam jak to jest w oraclu
Dzięki, zupełnie zapomniałem o tym sposobie (ʘ‿ʘ)
mimo wszystko w ramach nauki / ciekawostki dobrze poznać tymczasowe tabelki
sam w robo duzo uzywam i baaaarrrdddzzzoooo ulatwiaja mi robote (baza w okolicy 900+ tabel)
Gdybym mial to sam napisac, to zrobilbym to za pomoca CTE (czyli tej tymczasowej tabeli) oraz DENSERANK() lub RANK():
WITH ranking AS (
SELECT
departmentid,
AVG(salary) AS avgsalary,
DENSERANK() OVER (ORDER BY AVG(salary) DESC)
Racja z tym zwracaniem tylko jednego wiersza w przypadku więcej niż 1 takiej samej średniej. Trzeba by było wtedy dać FETCH FIRST 1 ROW WITH TIES
Nie kazdy silnik SQL natomiast obsluguje WITH TIES - Microsoft SQL go ma, MySQL natomiast juz nie.
W ogole na nowszych silnikach mozna to zrobic jeszcze bardziej elegancko (bez CTE) - np. w BigQuery albo Snowflake - uzywajac polecenia QUALIFY, ktora filtruje funkcje okienkowe:
SELECT
department_id,
AVG(salary) AS