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 THEN SET New.price = 1.99; END IF; IF price_1> price_3 THEN SET New.price = 1.99; END IF; IF price_1> price_4 THEN SET New.price = 1.99; END IF; .... – mediaroot

+0

Так что я хотел как-то сгруппировать IF price_1> price_2 и> price_3 и> price_4 – mediaroot

+0

.... надеюсь, это поможет. – Riad