【问题标题】:Group by part of varchar field按 varchar 字段的一部分分组
【发布时间】:2020-08-08 12:42:36
【问题描述】:

我有一个代表产品库存的 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)

【问题讨论】:

  • 而不是需要的列,您应该有一个孔表,它引用需要的列,还有一个用于尺寸和可能用于瓶或罐类型的孔表...

标签: mysql sql group-by


【解决方案1】:

如果产品列的数据格式在整个表格中是固定的(所有产品名称都由一个单词组成,除了Liter部分),那么使用

SELECT SUBSTRING_INDEX(product,' ',1) AS product_common_def , SUM(quantity) AS quantity
  FROM tab
 GROUP BY product_common_def

Demo

【讨论】:

    猜你喜欢
    • 2018-10-21
    • 2011-08-01
    • 1970-01-01
    • 2021-01-27
    • 2020-05-26
    • 2014-05-01
    • 2014-01-16
    • 2013-02-11
    • 2020-01-09
    相关资源
    最近更新 更多