今天实习的任务涉及到这个内容,一开始想了很久,百度上的结果也不是很多,所以就自己写一个,仅供参考。
目的:对select结果插入特殊的一列,此列的值 是根据源表的某一列计算得到的。
具体目标:
有mytable如下图示
写一个select语句,结果:保留difficulty列,新增accCount列,值为playcount自身以及自身之上的和。
比如
difficulty=1,accCount=2;
difficulty=2,accCount=4+2;
difficulty=3,accCount=4+4+2;
……
思路:新列accCount由带条件的sum函数得出。
sql语句如下
select t1.difficulty , sum(case when t1.difficulty>=t2.difficulty then t2.playcount end) as accCount
from mytable t1, mytable t2
group by t1.difficulty
结果