在子句中使用正则表达式

时间:2012-08-24 06:05:39

标签: mysql sql regex group-by

我有一个表'items'

Item_Code             |Rate  |Quantity
--------------------------------------
JOGGER-POWER-BLACK    |699   |5
JOGGER-POWER-WHITE    |599   |8    
JOGGER-PLAZA-WHITE    |1199  |2
SLEEPER-PLAZA-BLACK   |699   |6
SLEEPER-POWER-BLACK   |499   |5 

我想按Part1分组 - % - Item_Code的第3部分,如下所示只是想法

select (part1 and part3 of Item_Code) as 'Category-Color',sum(Quantity)
as Quantity group by (part1 and part3 of Item_Code)

按部件我的意思是用连字符

来查看Item_Code

所需输出

Category-Color|Quantity
-------------------
JOGGER-BLACK  |5
JOGGER-WHITE  |10
SLEEPER-BLACK |11 

“group by子句中的正则表达式”,“用正则表达式分组”。 Google / Bing没有任何相关性

我无法理解数据库开发人员是否不需要提供此功能或他们是如何执行此功能的。我需要商店所有者进行此类分组。例如类别(第1部分)明智的数量总和。

1 个答案:

答案 0 :(得分:4)

SELECT CONCAT(SUBSTRING_INDEX(Item_Code, '-', 1), '-', 
              SUBSTRING_INDEX(Item_Code, '-', -1)) AS Category_Color,
       SUM(Quantity) AS Quantity
FROM items
GROUP BY 1;

示例:SQLFiddle