SQL, Подсчет пользователя и группировка записей

Это мой пример БД

Employee Name
charlie
charlie
jose
jose
jose
john
john

Я хочу, чтобы посчитать сотрудников, а затем сохранить подсчитанное количество сотрудников как entry и сохранить его в новой таблице в базе данных. Я хочу иметь такой вывод.

Employee Name | Entry
charlie           2
jose              3
john              2

-1

Решение

Вы можете достичь этого с помощью простого запроса.

select Employee_Name,count(*) as entry from TableName
group by Employee_Name
1

Другие решения

Вы можете использовать агрегатную функцию count а также group by пункт как:

select EmployeeName,count(*) from <<table>>
group by EmployeeName;
3

Использование запроса дополнительного выбора без группировки по:

SELECT DISTINCT emp.name,
(Select count('x') from employee empSubQuery
WHERE empSubQuery.name = emp.name) as Entry
from employee emp

Просто альтернативный ответ. Если есть правильные индексы (над таблицей, emp.name должен иметь индекс), MySQL оптимизирует этот запрос и работает нормально.

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector