Создание системы инвентаризации. У меня много продуктов, и у каждого продукта есть три разные переменные. Поэтому для итогов акций я хочу группировать по двум столбцам (размер продукта и размер) и суммарное количество, чтобы получить общую сумму.
--------------------------------- |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)']