#mysql #sql #&roup-by
#mysql #sql #группировать по
Вопрос:
У меня есть таблица SQL, представляющая запас продукта. Допустим, это выглядит так
id - product - quantity
------------------------
1 - water 1L - 2
2 - Coke 1L - 3
3 - water 5L - 7
4 - water 10L - 1
5 - Coke 2L - 3
Я хочу знать, сколько бутылок у меня есть на складе, возможно ли это сделать без добавления столбца с типом продукта и получить результат, подобный
water - sum(quantity)
Coke - sum(quantity)
Комментарии:
1. вместо нужного столбца у вас должна быть таблица отверстий для него, которая ссылается на нужный столбец, также один для размеров и, возможно, для типа bottle или can…
Ответ №1:
Если формат данных для столбца product фиксирован во всей таблице(все названия продуктов состоят из одного слова, за исключением литровой порции), то используйте
SELECT SUBSTRING_INDEX(product,' ',1) AS product_common_def , SUM(quantity) AS quantity
FROM tab
GROUP BY product_common_def