19.08.2016, 15:37:31
Войти Зарегистрироваться
Авторизация на сайте

Ваш логин:

Ваш пароль:

Забыли пароль?

Навигация
Новости
Поход в Холодный Яр

Если вы ищете, чем заняться в выходные, любите походы и природу Украины, то вероятно вам понравится поход. Поход в Холодный Яр, если точнее. Холодный

Увлекательный тур пешком по Карпатам

Украина самая большая страна Европы с неплохой инфраструктурой и разнообразием ландшафта. Здесь действительно есть, что посмотреть, от памятников славянской старины до изумительных природных красот.

GoldLashes Kiev
Выбор профессии, по сути, сводится к ответу на вопрос: «Как сделать счастливыми 1/3 суток моей жизни? ». Еще в XVI в. Френсис Бэкон говорил, что счастливы те, чья природа находится в согласии с их занятиями.

Двухсторонний скотч
Как правильно выбрать двухсторонний скотч? Двухсторонний скотч является незаменимым помощником в быту, получил широкое применение в разных отраслях промышленности, на производстве, в складской, торговой,

Уголь антрацит
Человек с давних времен научился извлекать пользу из природных ископаемых, и первым среди них был и остается каменный уголь. Применяют его в различных сферах, включая отопление, производство топлива для

Led лампа т8
Если дома затевается ремонт или просто сгорела обычная лампа накаливания, можно попробовать заменить ее популярными сегодня светодиодными лампами. Такой вариант не только более экономно расходует электричество,

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

Клипсы Pandora
Меня всегда восхищает как реклама может забивать людям голову.  Мышление покупателей изобилует  стереотипами, один из которых: если  большинство это носит — значит, это модно и красиво.  Казалось бы,

Палубная (террасная) доска фасад ДПК под ключ украинская компания WoodPlast
В загородном строительстве для открытых площадок сегодня активно применяется террасная доска. Монтаж террасной доски может быть выполнен своими руками, т. к. конструкционно этот материал ничем не отличается

Бизнес план кредитного потребительского
Финансовый рынок нашей страны довольно развит, что в общем-то характерно для государств всего мира с развитыми или развивающимися экономики. Но потребности в финансовых услугах все равно, в значительной

Архив новостей
Реклама
Календарь событий
Right Left

MySQL запрос с суммой в WHERE

Опубликовано: 22.08.2018

видео MySQL запрос с суммой в WHERE

SQL для начинающих (DML): группировка GROYP BY (MySql), Урок 9!

Привет.

Сегодня рассмотрим как сделать в MySQL запрос с суммой в WHERE. Зачем это нужно? Допустим, вам нужно выбрать из нескольких страниц с JOIN значения (или даже из одной), сгруппированные по какому-либо идентификатору, при условии, что сумма SUM (или в другом случае count) будет больше определённого значения. Например, выбрать все фото с суммой просмотров больше 10, или выбрать все записи с количеством лайков больше 20. Тут поможет MySQL запрос с суммой в WHERE, так например, работает сервис продвижения сайта http://clancer.ru/ , он использует такие запросы для выбора оптимальных ключевых слов для клиентов.


Как сделать на MySQL запрос с суммой в WHERE?

Для решения этой задачи отлично подойдет команда HAVING в компании с GROUP BY. Приведем пример:

my_table: ID | VALUE | -------------- 1 | 1 | 1 | 1 | 1 | 1 | 2 | -1 | 1 | 5 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | -------------- SELECT * FROM my_table GROUP BY my_table.id HAVING sum(my_table.value)>10

Это запрос выведет все значения из таблицы my_table, сгруппированные по ID и только те, сумма значений которых больше 10.


Выборка из таблиц. Оператор SELECT в MySQL

Для приведенной таблицы это будет только значение с ID = 1 (у ID=2 сумма меньше 10).

Есть и другой вариант использования MySQL запрос с суммой в WHERE

Предположим, у нас есть 2 таблицы:

table_1: ID | title | ------------------ 1 | 1 | 2 | 2 | 3 | 3 | 4 | 4 | 5 | 5 | 6 | 5 | 7 | 6 | 8 | 7 | 9 | 8 | ------------------ table_2: ID | VALUE | id_table_1 | ----------------------------------- 1 | 1 | 1 | 1 | 1 | 2 | 1 | 1 | 1 | 2 | -1 | 4 | 1 | 5 | 1 | 2 | 1 | 1 | 1 | 1 | 2 | 1 | 1 | 1 | 1 | 1 | 7 | -----------------------------------

Ситуация приблизительно такая же: есть значение (VALUE) в таблице table_2, в которой есть внешний индекс на таблицу table_1. Нужно выбрать все значения (конкретно title) из таблицы table_1, где сумма значений из таблицы table_2 будут больше 5.


Арифметические операторы и операции в MySQL: сложение, вычитание, деление, умножение

Применим наш код MySQL запрос с суммой в WHERE с HAVING:

SELECT table_1.* FROM table_1 LEFT JOIN table_2 ON table_1.id=table_2.id_table_1 GROUP BY table_1.id HAVING sum(table_2.value)>5

Опять в результате будет только table_1.id=1, но это уже из-за заполненных данных.

Думаю, идея ясна, применение MySQL запрос с суммой в WHERE можно найти. Если остались вопросы: пишите в комментарии или в зеленую кнопку «Задать вопрос специалистам».

42

Понравилась или помогла статья?

Купите мне кофе
rss