0

我有体脂前测和后测的数据。如果后测值大于前测值,则只能大 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' 
4

1 回答 1

0

如果你改变ABS((post - pre) / pre) <= '0.02'((post - pre) / pre) <= 0.02应该得到你需要的答案。

通过删除ABS它,我们可以检查任一方向的变化。通过检查小于 0.02 的变化,我们确保变化不超过 2%(如果变化下降,我们将得到负数,所以仍然可以通过检查。)

编辑对不起,我想我的答案是从头到尾的!

于 2013-10-10T17:44:55.640 回答