sql zapytanie

0

Cześć :) dopiero zaczynam z sql więc dla większości z was pewnie nie będzie to żaden problem, ale ja nie mogę tego rozkminić :( Dla poniższej tabeli mam napisać zapytanie.

<image>a7676f53ba.png</image>

<image>fc990b6b8f.png</image>

Jedyne co udało mi się z siebie wykrzesać:

 

SELECT (TO_CHAR(HIRE_DATE,'YY')) YY, COUNT(EMPLOYEE_ID)
FROM EMPLOYEES
WHERE (TO_CHAR(HIRE_DATE,'YY')) BETWEEN 95 AND 98
GROUP BY (TO_CHAR(HIRE_DATE,'YY'))
order by (TO_CHAR(HIRE_DATE,'YY')) 

Wynik dla tego zapytania:

YY COUNT(EMPLOYEE_ID)


95 1
96 2
97 2
98 3

Niestety nie mam pojęcia jak pomimo WHERE I GROUP BY w jednym zapytaniu zliczyć wszystkich pracowników.
Z góry dziękuję za pomoc :)

0

Spróbuj takie coś:

SELECT * FROM (
  (SELECT to_char(hire_date, 'YY') FROM employees)
  pivot
  (count(*) for to_char(hire_date, 'YY') IN ('95', '96', '97', '98')
)

Link: https://oracle-base.com/articles/11g/pivot-and-unpivot-operators-11gr1

0

"Error at Command Line : 4 Column : 24
Error report -
SQL Error: ORA-01738: brak słowa kluczowego IN
01738. 00000 - "missing IN keyword"
*Cause:
*Action:"
Próbowałem się tym sugerować ale później pluł się że źle nawiasy, kombinowałem chyba we wszystkie strony ale nie znalazłem rozwiązania :<

1 użytkowników online, w tym zalogowanych: 0, gości: 1