Блог веб разработки

Блог веб-разработки статьи | видеообзоры | исходный код

Group by sql

Всем привет в данной статье мы с вами рассмотрим предложение GROUP BY для чего оно служит и как им пользоваться.

Таблица которую мы будем использовать

id				tovar					summa
========================================================
1     				tovar1  				1000
2    				tovar2  				10000
3    				tovar3  				3000
4   				 tovar4  				1000
5    				tovar5  				3000
6    				tovar6  				3500
=========================================================

И давайте сразу рассмотрим запрос с использованием GROUP BY, допустим мы хотим посчитать количество товаров на каждую из ценовых категорий:

SELECT `summa`, COUNT(`summa`) AS count FROM `tovar` GROUP BY `summa`

Результатом нам вернулось

summa     count
1000        2
3000        2
3500        1
10000      1

мы получили, то что хотели! Давайте подробнее разберем наш запрос.

В первой части запроса мы указали что нам нужно поле summa и количество строк которому мы присвоили псевдоним count, то есть количество строк у нас будет доставаться через поле count. Во второй части запроса мы указали GROUP BY (группировать строки) , и указали поле summa.

Что тут следует учитывать!

SELECT `summa`,`tovar`, COUNT(`summa`) AS count FROM `tovar` GROUP BY `summa`

результат:

summa      	tovar           count
1000		tovar1	       2
3000		tovar3	       2
3500		tovar6             1
10000		tovar2             1

этот запрос хоть и вернет нам значение, но он будет не коректен, так как поле tovar не указано в нашей группировке полей GROUP BY и следовательно на каждую группу суммы у нас вернется, только одно значение поля tovar учитываю, то что значения поля tovar в нашей таблице не повторяются. Но мы можем записать наш запрос так:

SELECT `summa`,`tovar`, COUNT(`summa`) AS count FROM `tovar` GROUP BY `summa`,`tovar`

Результат:

summa      	tovar           count
1000		tovar1	       1
1000		tovar4	       1
3000		tovar3	       1
3000		tovar5	       1
3500		tovar6             1
10000		tovar2             1

Как видите теперь группировка полей произошла у нас по полю `tovar`, потому что оно указанно последним аргументом предложения GROUP BY. Отсюда можно сделать простой вывод ,в качестве аргумента группировки строк нужно указывать одно поле.

К примеру на ничто не мешает посчитать общую сумму, количество, среднее значение и т.п .

Рассмотрим следующий запрос:

SELECT `summa`, COUNT(`summa`) AS count,SUM(`summa`) AS sum,AVG(`summa`) AS avg FROM `tovar` GROUP BY `summa`

В результате мы получили количество, общую сумму и среднее значение у каждой ценовой категории.

Вот и все дорогие друзья что я вам хотел рассказать о группировке строк в SQL.

Надеюсь вам было интересно и вы смогли узнать что то новое.

Удачи!

Оцените статью

Еще статьи

Методы идентификации подстрок в ES6

Group by sql

переменные css

JavaScript cookie

HTML Visibility

Строки шаблонов javascript

requests python

output html

css zoom

Комментарии

Проверочный код

В данном разделе пока нет комментариев!

История

    ПОДПИСКА

    • Подпишись и получай информацию о выходе новых статей на почту! Просто введите свою почту, нажмите кнопку подписаться. На почту должно будет прийти сообщение с потверждением подписки. Если сообщение не пришло проверьте раздел спам или попробуйте другую почту. Также по всем техническим проблемам вы можете написать в поддержку

    НОВОСТИ

    • Всем привет! Запустил новый сервис для поиска и бесплатного скачивания, прослушивания аудиокниг. Здесь вы можете найти множество литературы и прослушать ее. Вскоре возобновлю написание статей.