2012-08-24 19 views
5

Mam tabeli 'Elementy'za pomocą wyrażeń regularnych w klauzuli GROUP BY

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 

Chcę Grupy poprzez Part1 -% - Part3 od Item_Code jak po którym jest właśnie idea

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

By części mam na myśli patrząc Item_Code pod względem myślnikiem

pożądany wynik

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

"wyrażenia regularne w grupie według zdania", "grupowanie według wyrażenia regularnego". Google/Bing nie podaje nic istotnego

Nie jestem w stanie zrozumieć, czy deweloperzy baz danych nie muszą udostępniać tej funkcji i jak to robią. Wymagane jest takie zgrupowanie przez właściciela Sklepu. np. Kategoria (część 1) mądra Suma ilości.

Odpowiedz

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; 

przykład: SQLFiddle

+0

Jak edytować tytuł pytanie. Więc byłoby to bardziej przydatne później dla widzów. Co myślisz za pomocą jakich słów powinienem go przeszukać? – Sami

+0

Myślę, że jest w porządku. Prawdopodobnie nie musisz tego zmieniać. – Omesh

+0

O mój Boże. Tak właśnie jest. Czy jest coś jeszcze do zapłacenia? ponieważ samo głosowanie i akceptowanie wydaje mi się trochę szczególnie ważne dla twojego wysiłku demo wraz z rozwiązaniem. – Sami

Powiązane problemy