2

これが私のsquliteステートメントです:

select code ,  
case  when  (max(close)-min(close))/min(close)<0.1 then "grade1" 
when  (max(close)-min(close))/min(close) <0.2  then  "grade2"
when  (max(close)-min(close))/min(close) <0.3  then  "grade3"
else "grade4"  end  as  type;

は 3 回使用されました (max(close)-min(close))/min(close) が、クエリ ステートメントをよりシンプルにするにはどうすればよいですか?

4

1 に答える 1

1

計算をサブクエリに入れます。

SELECT code,
       CASE WHEN CloseRatio < 0.1 THEN 'grade1'
            WHEN CloseRatio < 0.2 THEN 'grade2'
            WHEN CloseRatio < 0.3 THEN 'grade3'
            ELSE                       'grade4'
       END AS type
FROM (SELECT code,
             (MAX(close) - MIN(close)) / MIN(close) AS CloseRatio
      FROM MyTable);
于 2012-11-10T11:30:37.243 に答える