今天写数据统计的时候,遇到一个问题,求一列的数据的和,但是这一列中,有部分是若干(若干以10记),那该如何写sql语句呢?数据库如图:
遇到这种问题,两种思路:
1:分开计算,先求出非“若干的”所有的数据的和,然后求出若干的个数x10;(不建议,要添加新的变量浪费内存);
2:使用case then else end语句。
下面是我求这一列数据的和的sql语句:
select peopleNumber = sum(case when peopleNumber='若干' then 10 else peopleNumber end) from T_PersonnelRecruiting。
意思很好理解:sum()是求和函数,括号里面的意思是,当peopleNumber为若干时,按照10计算,若不是,则取peopleNumber中本来的数值。