Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Найти средневзвешенное нескольких строк / 4 сообщений из 4, страница 1 из 1
06.10.2014, 15:50:23
    #38768044
Стас0н
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти средневзвешенное нескольких строк
Есть вот такой запрос:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
	SELECT 
		adnest_mapping_composite.adnest_id, 
		adnest_mapping_composite.ratio,
		tab2.*
		FROM adnest_mapping_composite
		JOIN 
		(
			SELECT 
				tab.adnest_id as effec,
				SUM(tab.frequency = 1) AS "1",
				SUM(tab.frequency = 2) AS "2",
				SUM(tab.frequency = 3) AS "3",
				SUM(tab.frequency = 4) AS "4",
				SUM(tab.frequency = 5) AS "5",
				SUM(tab.frequency = 6) AS "6",
				SUM(tab.frequency = 7) AS "7",
				SUM(tab.frequency = 8) AS "8",
				SUM(tab.frequency = 9) AS "9",
				SUM(tab.frequency = 10) AS "10",
				SUM(tab.frequency BETWEEN 11 AND 20) AS "11-20",
				SUM(tab.frequency BETWEEN 21 AND 100) AS "21-100",
				SUM(tab.frequency > 101) AS ">101"
			FROM
			(
				SELECT adnest_id, visitor_id, COUNT(*) AS frequency
				FROM hist_impressions
				INNER JOIN timeslot t ON t.timeslot_id = hist_impressions.timeslot_id
				WHERE start_date BETWEEN @start AND ADDDATE(@start, INTERVAL 7 DAY)
				GROUP BY adnest_id, visitor_id
			) tab
			GROUP BY 
				tab.adnest_id
		) tab2
		ON tab2.effective_adnest_id = adnest_mapping_composite.effective_adnest_id



Результат его выглядит так:
Код: sql
1.
2.
3.
4.
adnest	ratio	effect	1	2	3	4	5	6	7	8	9	10	>10
2	82	1	82	146	1	0	0	0	0	0	0	0	0
7	326	1	2393	54182	8914	2828	1277	682	385	217	190	0	0
8	0.179448421	8	13045	1364	510	249	178	152	72	101	0	0	



Как возможно выводить еще один столбец, в котором содержится среднее взвешанное столбцов "1" - ">10"?
...
Рейтинг: 0 / 0
06.10.2014, 16:22:34
    #38768137
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти средневзвешенное нескольких строк
Слей результат во временную таблицу, и считай всё, что требуется.
...
Рейтинг: 0 / 0
06.10.2014, 16:32:58
    #38768156
Стас0н
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти средневзвешенное нескольких строк
То, что это дело будет во временной таблице понятно.
Так а суммирование по строке как задать?
Как, например, для adnest = 2 просто просуммировать 82+146+1+0...
...
Рейтинг: 0 / 0
06.10.2014, 20:38:34
    #38768419
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти средневзвешенное нескольких строк
хардкодом
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Найти средневзвешенное нескольких строк / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]