Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

कुछ पंक्तियों का उप-योग प्राप्त करने के लिए SQL क्वेरी

आप CASE . का उपयोग करके एकत्र कर सकते हैं अभिव्यक्ति, जो id . का उपयोग करके एक समूह बनाती है अगर manager_id शून्य हो, अन्यथा manager_id . का उपयोग करके . बाकी तर्क वही है जो आपके पास पहले से है।

SELECT
    CASE WHEN manager_id = 0 THEN id ELSE manager_id END AS manager_id,
    MAX(CASE WHEN is_manager=1 THEN name END) AS name,
    SUM(no_of_items) AS total_items,
    SUM(revenue) AS total_revenue
FROM items_revenue
GROUP BY
    CASE WHEN manager_id = 0 THEN id ELSE manager_id END;

डेमो

एक तरफ ध्यान दें:मैंने GROUP BY . में एक फ़ंक्शन का उपयोग किया है क्लॉज, जो एएनएसआई के अनुरूप नहीं है और इसलिए हर जगह नहीं चल सकता है। इसे ठीक करने के लिए, हम प्रभावी प्रबंधक समूह बनाने के लिए पहले आपकी तालिका को सबक्वायरी कर सकते हैं। फिर, इस मध्यवर्ती परिणाम के विरुद्ध मेरे उपरोक्त उत्तर का उपयोग करें।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कनेक्शन की जाँच करते समय किसी भी निर्दिष्ट MySQL होस्ट से कनेक्ट करने में असमर्थ

  2. PHP/MySQL का उपयोग करके CSV डेटा आयात करना

  3. PayPal बटन रीडायरेक्ट करने से पहले AJAX कॉल को पूरा करें

  4. SQL और MySQL में संग्रहीत कार्यविधियाँ बनाने के क्या लाभ हैं?

  5. PHP के साथ विदेशी कुंजियों का उपयोग कैसे करें