2014-12-07 53 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

找到最大值,然後與之比較 – 2014-12-07 11:48:42

+0

表格的結構和要選擇的列是什麼? – 2014-12-07 11:50:43

+0

@GrijeshChauhan這是一個好主意。我會嘗試。 – mediaroot 2014-12-07 12:20:03

回答

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 2014-12-07 12:17:16

+0

所以我想以某種方式將IF組price_1> price_2和> price_3和> price_4 – mediaroot 2014-12-07 12:18:47

+0

更新....希望這有助於。 – Riad 2014-12-07 16:43:20

相關問題