2014-12-07 2 views
1

한 값이 다른 값보다 큰지 확인해야합니다. 현재값이 서로 다른 값보다 큰지 확인하는 방법은 무엇입니까?

내가이 쿼리를 가지고 있지만 값이 총 다른 모든 값보다 큰 경우에만 확인 : 나는 그것을 확인할 필요가 있지만

IF (SELECT SUM(`price`) AS '14' 
    from data 
    where sale = 14) > (
     SELECT SUM(`price`) AS 'x14' 
     from data where sale != 14) 
THEN SET New.price=1.99; 

경우 판매의 (14) - 관련이보다 큰 (15)보다 크고 (16)보다 큽니다.

+0

가장 큰 값을 찾고 그 값과 비교하십시오. –

+0

테이블의 구조는 무엇이며 어떤 열을 선택 하시겠습니까? –

+0

@GrijeshChauhan 이것은 아주 좋은 생각입니다. 나는 그것을 시도 할 것이다. – mediaroot

답변

1
//DECLARE price_1 and 2 first 

SELECT SUM(`price`) INTO price_1 from data where sale = 14 ; 
SELECT MAX(price_others) INTO max_price FROM 
( 
    SELECT SUM(`price`) as price_others, sale FROM data 
    where sale != 14 GROUP BY sale 
) TMP ; 

IF price_1 > max_price THEN 
    SET New.price=1.99; 
END IF ; 
+0

귀하의 답변을 주셔서 감사합니다 유용하지만, 나는이 같은 진술이 모두 경우에 실용적이라고 생각하지 않습니다 : IF price_1> price_2 그 후 SET New.price = 1.99; END IF; IF price_1> price_3 그 후 SET New.price = 1.99; END IF; IF price_1> price_4 그 후 SET New.price = 1.99; END IF; .... – mediaroot

+0

그래서 가격을> price_2,> price_3 및> price_4 – mediaroot

+0

으로 업데이트하려면 그룹화하고 싶었습니다. 희망이 있습니다. – Riad

관련 문제