SQL-按内容分组

SQL-按内容分组,sql,Sql,例如:我有10张唱片 Name | Count -------------+-------- Band 40m | 5 Band 45m | 3 Band 50m | 2 Rope 100m | 7 Rope 200m | 12 Rope 300m | 2 Rope 400m | 5 Ancient Key | 1 Rod | 3 Pickaxe | 3 我要把所有的带子和绳子都

例如:我有10张唱片

 Name        | Count 
-------------+--------
Band 40m     |  5
Band 45m     |  3
Band 50m     |  2
Rope 100m    |  7
Rope 200m    |  12
Rope 300m    |  2
Rope 400m    |  5
Ancient Key  |  1
Rod          |  3
Pickaxe      |  3
我要把所有的带子和绳子都用“SpecName”这个名字组合起来

 Name        | Count 
-------------+--------
SpecName     | 36                -> 5+3+2+7+12+2+5 = 36
Ancient Key  | 1
Rod          | 3
Pickaxe      | 3

这可能吗?谢谢…

您可以使用
大小写
表达式。一种可能是选择你想要的三个细节,并将其他所有细节综合在一起:

select (case when name in ('Ancient Key', 'Rod', 'Pickaxe')
             then name else specname
        end) as name,
       sum(count)
from t
group by (case when name in ('Ancient Key', 'Rod', 'Pickaxe')
               then name else specname
          end);

您可以使用
大小写
表达式。一种可能是选择你想要的三个细节,并将其他所有细节综合在一起:

select (case when name in ('Ancient Key', 'Rod', 'Pickaxe')
             then name else specname
        end) as name,
       sum(count)
from t
group by (case when name in ('Ancient Key', 'Rod', 'Pickaxe')
               then name else specname
          end);

您可以为此使用
大小写
表达式:

select
    case 
        when name like 'Band %' or name like 'Rope %' then 'SpecName' 
        else name
    end name,
    sum(count) cnt
from mytable
group by 
    case 
        when name like 'Band %'  or name like 'Rope %' then 'SpecName' 
        else name
    end

name | cnt :---------- | --: SpecName | 36 Ancient Key | 1 Rod | 3 Pickaxe | 3 名称| cnt :---------- | --: 规格名称| 36 古钥匙| 1 杆| 3 鹤嘴锄| 3
您可以为此使用
大小写
表达式:

select
    case 
        when name like 'Band %' or name like 'Rope %' then 'SpecName' 
        else name
    end name,
    sum(count) cnt
from mytable
group by 
    case 
        when name like 'Band %'  or name like 'Rope %' then 'SpecName' 
        else name
    end

name | cnt :---------- | --: SpecName | 36 Ancient Key | 1 Rod | 3 Pickaxe | 3 名称| cnt :---------- | --: 规格名称| 36 古钥匙| 1 杆| 3 鹤嘴锄| 3
我需要扭转这一局面。我有1000多条记录,无法写入其他记录。我需要反转此事件。我有1000多条记录,无法写入其他列“MakineListe.MakineAdi”在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。欢迎@HasanKaanTURAN!我刚刚在我的答案中添加了一个db FIDLE供您参考。列“MakineListe.MakineAdi”在选择列表中无效,因为它既不包含在聚合函数中,也不包含在GROUP BY子句中。欢迎@HasanKaanTURAN!我刚刚在我的答案中加了一个db提琴,供你参考。