简体   繁体   English

sql - 在sql中按字符串的部分分组

[英]sql - group by parts of a string in sql

I'm using sql to pull together a table like this: 我正在使用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

Is it possible to go from that to: 有可能从那里走到:

                total
likes-orange     $10
likes-vanilla    $6

even better would be 更好的是

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

I just have access to a phpmyadmin. 我只能访问phpmyadmin。

尝试

select substring_index(flavor,'_',1), sum(purchase) from table group by 1

In SQL 2005+ 在SQL 2005+中

Following can be used : 以下可以使用:

Select Tbl1.Email, Count(1) FROM (
    Select substring(EmailAdd,CHARINDEX('@',EmailAdd),Len(EmailAdd)-CHARINDEX('@',EmailAdd)) as 'Email'
    from TableName 
) Tbl1 Group By Tbl1.Email

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM