Форум программистов, компьютерный форум, киберфорум
Наши страницы
MySQL
Войти
Регистрация
Восстановить пароль
 
devups
0 / 0 / 0
Регистрация: 26.05.2018
Сообщений: 19
#1

Агрегирование данных с таблиц - MySQL

14.07.2018, 10:44. Просмотров 55. Ответов 0
Метки нет (Все метки)

Доброго времяни суток, возможно кто-то сможет мне помочь постораюсь максимально изложить ситуацию и что я сделал и чего не хватает.

Суть мне надо выбрать контакты сгрупировать по емайл. дальше если есть созданы компании для контактов вывести имя последней и
все клики

Проблема с кликами. Как я делаю.


SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT
  s0_.id AS id_0,
  s0_.email AS email_1,
  COUNT(DISTINCT (s0_.id)) AS sclr_2,
  s1_.title AS title_3,
  s2_.opens AS opens_4,
  s2_.clicks AS clicks_5,
FROM contact s0_
LEFT JOIN email_campaign_contact s2_ ON (s2_.email = s0_.email)
LEFT JOIN email_campaign_contact s3_ ON (s3_.email = s0_.email AND s3_.created_at > s2_.created_at)
LEFT JOIN email_campaign s1_ ON s2_.email_campaign_id = s1_.id
WHERE s0_.job_id = 1 AND s3_.id IS NULL
GROUP BY s0_.email
Что я делаю так это подключаю второй раз таблицу компания контакт по емайлу и то что дата больше первой ...

Это мне дает то что получаю title последней компании, но проблема остается что суммировать клики всех компаний не получается .

Добавлено через 12 часов 3 минуты
Можно ли так сделать проще говоря:

1. Выбрать с таблицы контакты всех контактов и сгруппровать по email, и вывести count +
2. К этим же контактам добавить таблицу emailCompaignContact c которой делается join по email
на один email может быть много компаний с этого join'a мне надо только статистику click'ов
3. И с этого emailCompaignContact join'a по старшей дате надо взять с другой таблицы Company Title тоесть последнию компанию


Выше приведенный запрос всё делает кроме статистики она остается с последней компании только

выглядит это так

company_id email click
1 test@example.com 10
2 test@example.com 15
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2018, 10:44
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Агрегирование данных с таблиц (MySQL):

Выборка данных из 2 таблиц
Есть 2 таблицы, например: Первая: | ID | col1 | col2 | col3 | col4 |...

Вывод данных из 3 таблиц
Добрый день, я совсем нуб в sql, заранее извиняюсь если мой вопрос слишком ...

Экспорт таблиц из базы данных
Подскажите кто нибудь. Я переносила БД с локального на хостинг 1000 раз всегда...

Структура таблиц в базе данных
Здравствуйте. В базе есть таблица, например `links`, в ней в каждой строке, в...

Определение таблиц в базе данных
Здравствуйте программисты! У меня к вам есть один маленький вопрос. Мне нужно...

Выборка данных из 3ех таблиц
Доброе время суток, подскажите пожалуйста как правильно выбрать данные из трех...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.07.2018, 10:44
Привет! Вот еще темы с решениями:

Выборка данных из нескольких таблиц
Есть две таблицы. Одна хранит в себе список объектов(поля:...

База данных, связь таблиц
Помогите связать правильно таблицы.

Запрос из 4 таблиц с пропуском данных
Помогите!!! Есть 4 таблицы: 1. с Именами 2. с Фамилиями 3. с Отчествами 4....

Запрос данных из двух таблиц
Есть таблица number и есть таблица events Таблица events содержит события по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru