SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 18.05.2018 06:57:41

Waddonator
Участник
Зарегистрирован: 18.05.2018
Сообщений: 2

Отобрать строки у которых сумма больше определенного значения - MySQL

Доброго времени суток, уважаемые форумчане. Никак не могу сообразить, как сформировать текст запроса. Имеется таблица типа:

id|parameter|question|VALUE
1 |FIRST    |1       | 10
2 |FIRST    |1       | 10
3 |FIRST    |2       | 10
4 |FIRST    |2       | 10
5 |SECOND   |1       | 10
6 |SECOND   |1       | 10
7 |SECOND   |2       | 2
8 |SECOND   |2       | 2

Нужно выбрать все `parameter` у которых сумма `value` по каждому `question` превышает параметр 10 (к примеру), т.е. должны получить:

parameter|question|SUM(VALUE)
FIRST    |1       | 20
FIRST    |2       | 20
В примере видно, что параметр 'second' не должен подходить, т.к. у него сумма по второму `question` меньше 10.

Заранее благодарю!

Неактивен

 

#2 18.05.2018 07:30:08

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Отобрать строки у которых сумма больше определенного значения - MySQL

если кол-во `question` для каждого `parameter` одинаково и известно заранее, то

select parameter from
(select parameter, question, sum(`VALUE`) from `таблица` group by parameter, question having sum(`VALUE`)>10) t
group by parameter having count(*)=2;
 

Неактивен

 

#3 18.05.2018 07:38:02

Waddonator
Участник
Зарегистрирован: 18.05.2018
Сообщений: 2

Re: Отобрать строки у которых сумма больше определенного значения - MySQL

Огромное спасибо! Мысль понятна!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson