如上图的一个表格,在URL字段里有我所需要分类的内容#1,#2,#3....等等
最终需要的效果是,对#1,#2,#3对应的SCORE求和,如下图由于实际的表里需要分类的内容很多,所以希望各位大神指导下,
用一个效率较高的办法实现,最好能把需要分类的内容存在一个表内,
用SQL直接调用该表(存放#1,#2,#3的表),然后实现分类求和
感激不尽!!
SQL模糊查询分类GROUPBY

解决方案 »

  1.   

    写个思路吧:
    1.可以根据CHARINDEX找到“#”的位置
    2.SUBSTRING提取#1,#2,#3,SUM(score)
      

  2.   

    select right(url,2),sum(score) from tb group by right(url,2) 
    可以不?
      

  3.   

    select REVERSE(left(REVERSE(url),charindex('\',REVERSE(url))-1)) as url
    ,sum(score) as totalscore
    from tab
    group by REVERSE(left(REVERSE(url),charindex('\',REVERSE(url))-1)) 
     
      

  4.   

    select distinct URL,
    sum(SCORE) over(partition by URL) as totalscore
    from 表名你试一下上面的代码,在我的数据库中查询一个表结果是正确的
      

  5.   

    非常感谢大家的帮助!
    可能是我表述得不够清楚,虽然你们的方法都可以完成这个简单的效果,
    但是实际上所要模糊查询的条件并不是#1,#2,#3这么简单,
    我想要的效果是:我想把模糊查询的条件存在一张表上,
    用SQL语句调用这张表里的查询条件,
    然后根据所给的条件,分类,求和
    再次感谢大家的帮助!