2012-08-24 13 views
5

Tengo una tabla 'artículos'usando expresiones regulares en el Grupo por la cláusula

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 

Quiero Grupo por Parte 1 -% - Parte 3 de Item_Code como después de lo cual es sólo idea

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

Por partes I significa mirar Item_Code en términos de guión

salida deseada

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

"expresiones regulares en group by clause", "group by with regular expression". Google/Bing no da nada relevante

No puedo entender si los desarrolladores de bases de datos no están obligados a proporcionar esta característica o cómo lo hacen. El propietario de la tienda me exige dicha agrupación. Por ejemplo, Categoría (Parte 1) sabia Suma de cantidades.

Respuesta

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; 

Ejemplo: SQLFiddle

+0

¿Cómo debo modificar mi título de la pregunta. Entonces sería más útil más tarde para los espectadores. ¿Qué piensas con qué palabras debería haberlo buscado? – Sami

+0

Creo que está bien. Probablemente no necesites cambiarlo. – Omesh

+0

O mi Dios. Esa es la forma @Omesh. ¿Hay algo más para pagar más? como solo votar y aceptar me parece un poco especialmente para su esfuerzo de demostración junto con la solución. – Sami

Cuestiones relacionadas