मैं ऑर्डर टेबल से पूछताछ करना चाहता हूं और ग्राहक आईडी और उसके सभी ऑर्डर दिखा सकता हूं, हालांकि ऑर्डर सकारात्मक या नकारात्मक योग हो सकते हैं।एसयूएम के लिए एसक्यूएल एकत्रीकरण क्वेरी, लेकिन केवल सकारात्मक रकम (अन्यथा 0)
select customer_id, SUM(order_total) from orders group by customer_id;
अब मेरे सवाल - कैसे मैं एक एसक्यूएल में निम्न क्वेरी को प्राप्त कर सकते हैं:
तो कुल योग सकारात्मक है, मैं इसे प्रदर्शित करने के लिए है के रूप में चाहते हैं; यदि कुल योग ऋणात्मक है, तो मैं केवल वास्तविक राशि के बजाय 0 प्रदर्शित करना चाहता हूं।
क्या मैं देख रहा हूँ एक समारोह है कि इस, IFNULL
समारोह (IFNULL(SUM(order_total),0)
) के समान है, लेकिन नल के लिए जाँच करने के बजाय, यह एक नकारात्मक परिणाम के लिए जाँच करनी चाहिए संभाल सकता है।
छद्म कोड:
IFNEGATIVE(SUM(order_total),0)
वहाँ मानक एसक्यूएल में एक आसान तरीका है (या विशेष रूप से Mysql 5.5 में, यह भी ठीक हो जाएगा)।
धन्यवाद बहुत धन्यवाद, मैंने अक्सर एसक्यूएल में मामलों का उपयोग नहीं किया है, मुझे पता है :) मुझे लगता है कि प्रदान किए गए कुछ अन्य उत्तरों (यानी अगर यह भी काम करता है), हालांकि, चलो मैं यहां इस वोट को स्वीकार करता हूं, मैं अन्य लोगों को भी ऊपर उठाता हूं। –