我有体脂预测和后测的数据。如果后测试值大于预测试,则它只能大2%或者我不希望它在结果中。后测试值可以是低于预测试的任何量。
此查询仅在两个值均在彼此的2%范围内时才有效。缺失的部分是后期测试低于预测试。任何帮助将不胜感激!
SELECT LPAD( `studid` , 7, '0' ) AS studid,
bodpoints,
STR_TO_DATE(TestDate, '%m/%d/%Y') AS testd
FROM bodpod, points
WHERE ABS((post - pre) / pre) <= '0.02'
AND ID2 = 'fall'
AND studid != ''
GROUP BY studid
HAVING COUNT( DISTINCT ID1 ) >=1 AND YEAR( testd ) = '2013'
答案 0 :(得分:0)
如果您将ABS((post - pre) / pre) <= '0.02'
更改为((post - pre) / pre) <= 0.02
,您应该得到所需的答案。
通过删除ABS
,我们可以检查任一方向的变化。通过检查小于0.02的变化,我们确保变化不超过2%(如果变化减少,我们将得到负数,因此仍然会通过检查。)
编辑抱歉,我想我的答案是从前面回来的!