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 に答える