Соответствие одинаково заканчивающихся строк с сортировкой / группировкой SQL по - PullRequest
2 голосов
/ 17 февраля 2011

У меня огромная таблица электронных писем, и я хочу отсортировать по доменам (и посчитать # в каждом домене)

Пример вывода:

@gmail.com =1000

@aol.com = 790

@hotmail.com = 550

@somethingweird.com = 2

Регулярное выражение будетдля всех строк, которые соответствуют от "@" до последнего символа в строке.

Есть идеи, как мне это сделать?

Ответы [ 3 ]

0 голосов
/ 17 февраля 2011

Если оно массивное, вам нужно масштабируемое решение.

Добавьте вычисляемый столбец (или отдельный столбец домена), чтобы разделить адрес электронной почты на @ и индексировать его.

Тогда это простой СЧЕТ. ГРУППА ПО

0 голосов
/ 17 февраля 2011

Если вы используете Oracle, вы можете GROUP BY regexp_substr(mail_column,'@.*')

0 голосов
/ 17 февраля 2011

Если вы можете изменить свой дизайн, вы можете попробовать изменить способ хранения адресов электронной почты в БД или добавить дополнительный столбец.При индексировании это будет работать намного лучше, чем при сканировании всей таблицы для создания группировок списков.

...