sql zapytanie

FO
  • Rejestracja:ponad 9 lat
  • Ostatnio:prawie 3 lata
  • Postów:38
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ć:

Kopiuj
 

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 :)

edytowany 1x, ostatnio: Foka
MC
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 8 lat
  • Lokalizacja:Wrocław
  • Postów:127
0

Spróbuj takie coś:

Kopiuj
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

FO
  • Rejestracja:ponad 9 lat
  • Ostatnio:prawie 3 lata
  • Postów:38
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 :<

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.