sql - группировка по частям строки в sql - PullRequest
4 голосов
/ 21 февраля 2012

Я использую sql, чтобы собрать таблицу примерно так:

person         flavour                                purchase
andy         likes-orange_hates-vanilla                  $5
george       likes-orange_hates-icecream                 $5
gena         likes-vanilla_hates-bourban                 $2
gena         likes-vanilla_hates-bourban                 $4

Можно ли перейти от этого к:

                total
likes-orange     $10
likes-vanilla    $6

еще лучше было бы

              total      av. purchase size     av. purchases per person    total people
likes-orange    $10                $5                   1                        2
likes-vanilla   $6                 $3                   2                        1

У меня просто есть доступ к phpmyadmin.

Ответы [ 2 ]

11 голосов
/ 21 февраля 2012

Попробуйте

select substring_index(flavor,'_',1), sum(purchase) from table group by 1
0 голосов
/ 05 сентября 2012

В SQL 2005 +

Может использоваться следующее:

Select Tbl1.Email, Count(1) FROM (
    Select substring(EmailAdd,CHARINDEX('@',EmailAdd),Len(EmailAdd)-CHARINDEX('@',EmailAdd)) as 'Email'
    from TableName 
) Tbl1 Group By Tbl1.Email
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...