Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да групирате по месец в MySQL

Понякога може да се наложи да агрегирате данни по месеци в MySQL. В тази статия ще разгледаме различни начини за групиране по месеци в MySQL.


Как да групирате по месеци в MySQL

Ще използваме формат_дата функция за форматиране на датата в месечни стойности и групиране по месеци.

Ето синтаксиса на функцията date_format.

format_date(стойност, форматен низ)

В горната функция трябва да посочите стойност като литерал, друга функция или име на колона и форматен низ, който определя формата, в който тази стойност трябва да бъде преобразувана.

Ето пример за преобразуване на низ от дата в месец.

mysql> SELECT DATE_FORMAT("2020-06-15", "%M");+-------------------------- ------+| DATE_FORMAT("2020-06-15", "%M") |+-------------------------------- +| юни |+---------------------------------+

Да кажем, че имате таблица sales(id, order_date, amount)

mysql> създайте таблица sales(id int, order_date, amount int);mysql> вмъкнете в sales(id,order_date,amount) стойности(1,'2020-10-01',150), (2,' 2020-10-10',100), (3,'2020-11-05',250), (4,'2020-11-15',150), (5,'2020-12-01',350 ), (6,'2020-12-21',250);mysql> изберете * от продажбите;+------+------------+------ --+| идентификатор | поръчка_дата | сума |+------+------------+-------+| 1 | 2020-10-01 | 150 || 2 | 10.10.2020 | 100 || 3 | 2020-11-05 | 250 || 4 | 15.11.2020 | 150 || 5 | 2020-12-01 | 350 || 6 | 21.12.2020 | 250 |+------+-----------+-------+

Прочетете също:Как да премахнете ограничението NOT NULL в MySQL


Групиране по име на месец

Ето SQL заявката за групиране по име на месец.

mysql> изберете date_format(order_date, '%M'),sum(amount) от групата продажби по date_format(order_date, '%M');+--------------- ----------------+------------+| date_format(order_date, '%M') | сума(сума) |+------------------------------+------------ -+| декември | 600 || ноември | 400 || октомври | 250 |+-------------------------------+------------+ 

В горната SQL заявка използваме format_date(order_date, “%M”) за да конвертирате колона за дата в име на месец и използвайте сума колона за сумиране на сумите на продажбите.


Групиране по месец и година

Ето SQL заявката за групиране по месец и година.

mysql> изберете формат на дата(дата_на_поръчка, '%M %Y'),сума(сума) от група продажби по година(дата_на_поръчка),месец(дата_на_поръчка);+------------ ---------------------+------------+| date_format(order_date, '%M %Y') | сума(сума) |+---------------------------------+-------- ----+| октомври 2020 г. | 250 || ноември 2020 г. | 400 || декември 2020 г. | 600 |+---------------------------------+----------- -+

В горната заявка използваме date_format, за да преобразуваме стойностите на колоната за дата в имена на месеци и години. Ние също така използваме функциите YEAR() и MONTH(), за да гарантираме, че данните са групирани и подредени по номера на месец и година.

В горната заявка, ако използваме date_format функционира в група по клауза, тогава MySQL ще сортира групите по азбучен ред, вместо по хронологичен ред. Вижте по-долу.

mysql> изберете date_format(order_date, '%M'),sum(amount) от групата продажби по date_format(order_date, '%M');+--------------- ----------------+------------+| date_format(order_date, '%M') | сума(сума) |+------------------------------+------------ -+| декември | 600 || ноември | 400 || октомври | 250 |+-------------------------------+------------+ 

Нуждаете се от инструмент за отчитане за MySQL? Ubiq улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте днес!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ъгъл на базата данни:Ръководство за начинаещи за системите за съхранение на Mysql

  2. Как да видите състоянието и системните променливи в MySQL Workbench с помощта на GUI

  3. Проблеми с типовете съдържание при зареждане на устройство в Django

  4. MySQL преобразува изхода timediff във формат ден, час, минута, секунда

  5. Безопасно ли е да съхранявате потребителски имена и пароли в базата данни?