У меня есть таблица (staffs_table) со следующими данными:
name profession
------------------------------
Corbin Human Resources|Accountant
Cort Programmer|Receptionist|Helpdesk
Я хочу подсчитать количество человек в каждой профессии, чтобы мои результаты были следующими;
profession number_of_staffs
---------------------------------------
Human Resources 1
Accountant 1
Programmer 1
Receptionist 1
Helpdesk 1
Я попытался выполнить следующий запрос SQL, но безуспешно;
SELECT profession, COUNT(*) AS number_of_staffs FROM staffs_table GROUP BY profession ORDER BY COUNT(*) DESC;
ВЫХОД:
profession number_of_staffs
---------------------------------------------
Human Resources|Accountant 1
Programmer|Receptionist|Helpdesk 1
Также попробовал следующее ;
SELECT staffs_table.name,
SUBSTRING_INDEX(SUBSTRING_INDEX(staffs_table.profession, '|', numbers.n), '|', -1) profession
FROM
numbers INNER JOIN staffs_table
ON CHAR_LENGTH(staffs_table.profession)
-CHAR_LENGTH(REPLACE(staffs_table.profession, '|', ''))>=numbers.n-1
ВЫХОД:
name profession
------------------------------
Corbin Human Resources
Corbin Accountant
Cort Programmer
Cort Receptionist
Cort Helpdesk
Заранее спасибо!