Intereting Posts
Отображение содержимого страницы с использованием нескольких шаблонов – WordPress Как написать html-код внутри <? Php?> Хеширование PHP Bcrypt Как избежать повторного обновления страницы на привязке (<a> </a>)? Tweet интерактивные ссылки с twitteroauth? Почему моя функция меняет значение boolean на «on»? Подключение к базе данных MySQL MySQL из локального хоста Лучшие методы, чтобы избежать «скрепок данных» из базы данных веб-сайта «Неизвестная» ошибка PHP – что это значит? Регулярное выражение PHP для извлечения ссылки / кода TwitPic, если присутствует Drupal (6.19) cron исчерпывает память при индексировании поиска Смит-Уотерман для строки в PHP? Получение атрибута продукта из другого атрибута продукта? PHP: разделите определенный тег из строки HTML? Автоматическое обновление с помощью ajax / jQuery после первоначальной формы submit, затем изменение названия страницы

MySQL: группа по двум столбцам и сумма

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

--------------------------------- |product |Size |Quantity | --------------------------------- |Widget one |2 |275 | --------------------------------- |Widget one |2 |100 | --------------------------------- |Widget two |3 |150 | --------------------------------- |Widget two |2 |150 | --------------------------------- 

Что я хочу для вывода:
Виджет один – 2: 375
Виджет два – 3: 150
Виджет два – 2: 150

Я выяснил, как группировать по одному столбцу и суммировать код:

 $query = "SELECT product, SUM(Quantity) FROM inventory GROUP BY product"; $result = mysql_query($query) or die(mysql_error()); // Print out result while($row = mysql_fetch_array($result)){ echo "Total ". $row['product']. " = ". $row['SUM(Quantity)']; echo "<br />"; } ?> 

Я просто застрял в группировке по обоим столбцам. Является ли это возможным? или я должен просто создать три разных продукта для трех размеров и исключить эту колонку? Благодарю.

На основе вашей таблицы примеров, похоже, вы хотите группировать product а не id . Вам просто нужно добавить столбец « Size в список SELECT и GROUP BY

 $query = "SELECT product, Size, SUM(Quantity) AS TotalQuantity FROM inventory GROUP BY product, Size"; 

Обратите внимание, что я добавил псевдоним столбца TotalQuantity , который позволит вам более легко получить столбец из выбранной строки через более разумную $row['TotalQuantity'] , а не $row['SUM(Quantity)']