Problem z grupowaniem na poszczególne dni tygodnia

Problem z grupowaniem na poszczególne dni tygodnia
M1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8
0

Cześć jestem tu nowym na forum (jak się domyślacie student). Mam problem z zadaniem:
Wyświetl ilu pracowników zostało zatrudnionych w poszczególnych dniach tygodnia. Wyniki posortuj wg liczby pracowników.

Próbowałem to robić mniej więcej tak:

zad 25--jak to pogrupowac?
/*select count(employee_id) , to_char(hire_date, 'D')= 2 as poniedizalek , to_char(hire_date, 'D')= 1 as wtorek, to_char(hire_date, 'D')= 3 as sroda, to_char(hire_date, 'D')= 4 as piatek, to_char(hire_date, 'D')= 5 as czwartek, to_char(hire_date, 'D')= 6 as sobota, to_char(hire_date, 'D')= 7 as niedziela--, errormessage
from employees
--where to_char(hire_date, 'D')= 2 or to_char(hire_date, 'D')= 1 or to_char(hire_date, 'D')= 3 or to_char(hire_date, 'D')= 4 or to_char(hire_date, 'D')= 5 or to_char(hire_date, 'D')= 6 or to_char(hire_date, 'D')= 7
group by to_char(hire_date, 'D')= 2 , to_char(hire_date, 'D')= 1 , to_char(hire_date, 'D')= 3 , to_char(hire_date, 'D')= 4 , to_char(hire_date, 'D')= 5 , to_char(hire_date, 'D')= 6 , to_char(hire_date, 'D')= 7--, errormessage
*/

select count(employee_id), to_char(hire_date, 'D')= 2 , to_char(hire_date, 'D')= 1 , to_char(hire_date, 'D')= 3 , to_char(hire_date, 'D')= 4 , to_char(hire_date, 'D')= 5 , to_char(hire_date, 'D')= 6 , to_char(hire_date, 'D')= 7
from employees
group by to_char(hire_date, 'D')= 2 , to_char(hire_date, 'D')= 1 , to_char(hire_date, 'D')= 3 , to_char(hire_date, 'D')= 4, to_char(hire_date, 'D')= 5 , to_char(hire_date, 'D')= 6 , to_char(hire_date, 'D')= 7

No i kompilator wypisuje FROM keyword not found where expected
00923. 00000 - "FROM keyword not found where expected"
*Cause:
*Action:
Error at Line: 210 Column: 52

cokolwiek by to znaczyło

Schemat tabeli jest z oracla hr tu np: http://blog.dataconsulting.pl/2013/04/kurs-oracle-sql-online-zlaczenia-czyli-joiny/kurs-oracle-sql-schemat-hr/

JA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 32
0

Czym jest linijka nr 210 ?
Spróbuj zamienić ' na "

PA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3901
3

Trochę to przekomplikowales, nie znam dokładnie skladni oracle, ale bazując na tym co napisałeś:

Kopiuj
Select
 to_char(hire_date,'D') dzień
,count(*)
From
Employees
Group by
to_char(hire_date,'D') 
Order by
2

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.