Вопрос MySQL Есть три таблицы: “site” (список сайтов). Поля: Site_id(int), url(varchar), user_id(int), status(int). Primary key: site_id ... ... ... ... ... ... 1025 | "site1.com" | 275 | 1 ... 1026 | "test_site.net" | 278 | 0 ... 1027 | "site17.net" | 275 | 1 ... 1028 | "test_test_site.fr" | 270 | 1 ... ... ... ... ... ... ... “site_area” (список блоков). Поля: site_area_id(int), site_id(int), name(varchar), status(int), size(varchar). Primary key: site_area_id ... ... ... ... ... ... ... 628 | 527 | "sidebar_1" | 1 | "160x600" ... 629 | 1025 | "in_article" | 1 | "300x250" ... 670 | 1026 | "sidebar_1" | 1 | "300x600" ... 672 | 1026 | "sidebar_2" | 0 | "300x250" ... ... ... ... ... ... ... ... “npm_site_area_stat_cache” (статистика). Поля: Date(date), Site_area_id(int), impression_count(int), revenue(demical). Primary key: date,site_area_id ... ... ... ... ... ... 2017-01-12 | 628 | 57565 | 25.10 ... 2017-01-13 | 628 | 61277 | 40.25 ... 2017-01-13 | 629 | 1245 | 0.95 ... 2017-01-13 | 651 | 889115 | 525.25 ... ... ... ... ... ... ... Нужно написать запрос, который выберет список сайтов (site), у которых есть более трёх активных (status=1) блоков (site_area). Выборка должна содержать четыре поля: id сайта, url сайта, общее число показов и общий доход на этом сайте (со всех его блоков) за последнюю неделю.
Код: SELECT * FROM site s INNER JOIN site_area sa ON s.site_id = sa.site_id AND sa.status = 1 GROUP BY s.site_id HAVING count(s.site_id) > 3 приблизительно так