2016-05-22 6 views
1

ここに私が使用しているコードがあります。列の最大値を変数として保存し、それをMySQLの計算に使用するにはどうすればよいですか?

Select max(heart_rate) as Max_heart, Count(*) from exercise_logs 
    where heart_rate between (0.5*Max_heart) and (0.9*Max_heart); 

私はSQLで新しいですが、私は、これはSQLで行わ取得する必要があるため、私は、これはとにかくR.ようなもので簡単だっただろうと思うが、私はこれを行うのですか上の任意の提案ですか?

私のデータは、あなたがUser-Defined Variablesを使用したい、この

type   minutes calories heart_rate 
    biking   30  100  110 
    biking   10  30  105 
    dancing   15  200  120 
    dancing   15  165  120 
    tree climbing 30  70  90 
    tree climbing 25  72  80 
    rowing   30  70  90 
    hiking   60  80  85 
+0

を試してみてください?のようにする必要がありますか – Rahul

+0

私はあなたが必要以上に複雑になっていると思います。あなたはあなたの問題をより完全に記述できますか? – Strawberry

答えて

0

のように見えます。それは

declare var1, var2 INT; 

    Select var1 = max(heart_rate), var2 = Count(*) 
    from exercise_logs 
    where heart_rate between (0.5*Max_heart) and (0.9*Max_heart); 

    select var1 + var2 as Data; 
+0

私は彼が結果を変数に代入する方法を尋ねていると思います。私は彼が総合的な最大心拍数を見つけて、最大レートの50%から90%の心拍数をもたらす活動を見つけたいと思うと思います。 – Alex

0

所望の出力があるべき何この

-- Finds maximum heart rate from all activities 
SET @Max_heart := (SELECT max(heart_rate) FROM exercise_logs); 

-- Selects activities that generate between 50% and 90% of the maximum heart rate 
Select * 
FROM exercise_logs 
where heart_rate between (0.5* @Max_heart) and (0.9*@Max_heart); 
関連する問題