Есть GROUP_CONCAT, есть GROUP_SUM?

кол-во - это целое число. Этот SQL работает, но я хочу суммировать значения кол-во, а не объединять их. Нет GROUP_SUM: называется как-то еще?

SELECT sku as filterSKU, storenumber as storenumberSKU,
      GROUP_CONCAT((CASE weekdayoftransaction WHEN 0 THEN qty ELSE NULL END)) AS Monday,
      GROUP_CONCAT((CASE weekdayoftransaction WHEN 1 THEN qty ELSE NULL END)) AS Tuesday,
      GROUP_CONCAT((CASE weekdayoftransaction WHEN 2 THEN qty ELSE NULL END)) AS Wednesday,
      GROUP_CONCAT((CASE weekdayoftransaction WHEN 3 THEN qty ELSE NULL END)) AS Thursday,
      GROUP_CONCAT((CASE weekdayoftransaction WHEN 4 THEN qty ELSE NULL END)) AS Friday,
      GROUP_CONCAT((CASE weekdayoftransaction WHEN 5 THEN qty ELSE NULL END)) AS Saturday,
      GROUP_CONCAT((CASE weekdayoftransaction WHEN 6 THEN qty ELSE NULL END)) AS Sunday
    FROM `reconciled`.sale 
    GROUP BY sku, storenumber;

Вот таблица:

CREATE TABLE `sale` (
  `saleID` int(11) NOT NULL AUTO_INCREMENT,
  `EmployeeFirstName` varchar(45) DEFAULT NULL,
  `EmployeeLastName` varchar(45) DEFAULT NULL,
  `ProductDescription` varchar(45) DEFAULT NULL,
  `Unit` varchar(45) DEFAULT NULL,
  `SKU` varchar(45) DEFAULT NULL,
  `Qty` int(11) DEFAULT NULL,
  `UnitCost` decimal(10,3) DEFAULT NULL,
  `UnitPrice` decimal(10,3) DEFAULT NULL,
  `Manufacturer` varchar(45) DEFAULT NULL,
  `EmployeeNumber` varchar(45) DEFAULT NULL COMMENT 'The employee who handled the transaction',
  `LoyaltyNumber` varchar(45) DEFAULT NULL,
  `StoreNumber` varchar(45) DEFAULT NULL,
  `DateOfTransaction` date DEFAULT NULL,
  `TimeOfTransaction` time DEFAULT NULL,
  `DateOfTransactionString` varchar(45) DEFAULT NULL,
  `TimeOfTransactionString` varchar(45) DEFAULT NULL,
  `WeekdayOfTransaction` int(11) DEFAULT NULL,
  `MonthOfTransaction` int(11) DEFAULT NULL,
  `YearOfTransaction` int(11) DEFAULT NULL,
  `WeekdayNameOfTransaction` varchar(45) DEFAULT NULL,
  `MonthNameOfTransaction` varchar(45) DEFAULT NULL,
  `TotalPrice` decimal(10,3) DEFAULT NULL,
  PRIMARY KEY (`saleID`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;

Называется просто SUM.

Roman Hocke 01.07.2018 21:19
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
3
1
176
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это просто называется sum. Вы можете добиться группировки с помощью предложения group by (которое у вас уже есть!):

SELECT   sku AS filterSKU, storenumber AS storenumberSKU,
         SUM(CASE weekdayoftransaction WHEN 0 THEN qty ELSE NULL END) AS Monday,
         SUM(CASE weekdayoftransaction WHEN 1 THEN qty ELSE NULL END) AS Tuesday,
         SUM(CASE weekdayoftransaction WHEN 2 THEN qty ELSE NULL END) AS Wednesday,
         SUM(CASE weekdayoftransaction WHEN 3 THEN qty ELSE NULL END) AS Thursday,
         SUM(CASE weekdayoftransaction WHEN 4 THEN qty ELSE NULL END) AS Friday,
         SUM(CASE weekdayoftransaction WHEN 5 THEN qty ELSE NULL END) AS Saturday,
         SUM(CASE weekdayoftransaction WHEN 6 THEN qty ELSE NULL END) AS Sunday
FROM     `reconciled`.sale 
GROUP BY sku, storenumber;

Другие вопросы по теме