У меня есть таблица:
source, duration
84991234567, 21
84991234568, 29
84951234569, 22
Где source - это исходящий номер телефона, duration - длительность вызова.
Мне нужно сгруппировать эти данные по коду города, т.е. получить следующее:
8499, 50
8495, 22
где второе число - это сумма duration.
Главный вопрос - как сгруппировать по коду города?
Можно и так:
select left(source,4), sum(duration)
from table
group by left(source,4)
Воспользуйтесь функцией SUBSTRING(), и сделайте запрос с подзапросом. В итоге будет что-то вроде (мог ошибиться, т.к. пишу без проверки):
SELECT
city_code,
SUM(duration)
FROM
(SELECT
SUBSTRING(source, 1, 4) city_code, duration
FROM
your_table)
GROUP BY
city_code;
Сборка персонального компьютера от Artline: умный выбор для современных пользователей