К примеру, у меня есть таблица звонков с полями "номер телефона" и "статус":
date | phone | status
2017-01-02 84990000000 'BUSY'
2017-01-04 84990000000 'FAIL'
2017-01-05 84990000000 'OK'
2017-01-02 84990000001 'OK'
2017-01-10 84990000001 'FAIL'
2017-01-13 84990000001 'OK'
2017-01-15 84990000001 'FAIL'
Мне нужно для каждого номера вывести количество BUSY, FAIL, OK в отдельных столбцах, т.е. должно получиться:
phone | count_busy | count_fail | count_ok
84990000000 1 1 1
84990000001 0 2 2
Написал вот такой запрос:
SELECT
phone,
COUNT(call_status = 'BUSY') as busy_count,
COUNT(call_status = 'FAIL') as fail_count,
COUNT(call_status = 'OK') as fail_count
FROM calls
GROUP BY phone
Но результат запроса неправильный, похоже, что COUNT(call_status = 'строка') работает вообще не так, как я предполагаю.
Где тут косяк?
Продвижение своими сайтами как стратегия роста и независимости