根据sql查询中的数据分配点



sql(db2(中有没有一种方法可以根据列的值来分配分数,即每5次销售就获得一分,每100美元就获得一点?

我的查询:

SELECT SALES, DOLLARS, EMPLOYEE FROM EMP_SALES;

我想添加一个"POINTS"列,其中的值是上面的销售额/美元列中的积分的组合。因此,如果用户完成了5次销售,总额超过100美元,他们将获得2分。

有没有一个好的方法可以在sql中实现这一点,或者我应该通过PHP来实现这一目标?

使用此表:

EMPLOYEE  |  SALES  |  DOLLARS
-------------------------------
123          5            100
456          5            500

我希望这些结果:

EMPLOYEE  |  SALES  |  DOLLARS  |  POINTS
-------------------------------------------
123          5            100        2   
456          5            5          6

看起来像一个简单的算术(假设员工456的美元=5是一个拼写错误,应该是500(

SELECT EMPLOYEE, SALES, DOLLARS
, (sales/5) + floor(dollars/100) as points 
FROM EMP_SALES

注意floor((函数

返回小于或等于表达式的最大整数值。

换句话说,它总是向下舍入。您也可以使用round((函数,但表达式不会那么直接。

最新更新