मैं एक मेज है:क्या समूह को, होने और Sum को जोड़ना संभव है?
------------------------
|id|p_id|desired|earned|
------------------------
|1 | 1 | 5 | 7 |
|2 | 1 | 15 | 0 |
|3 | 1 | 10 | 0 |
|4 | 2 | 2 | 3 |
|5 | 2 | 2 | 3 |
|6 | 2 | 2 | 3 |
------------------------
मैं कुछ गणना करने, और एक वास्तव में जटिल नहीं अनुरोध में इसे बनाने के लिए प्रयास करने की आवश्यकता है, अन्यथा मुझे पता है कि अनुरोधों की संख्या के साथ यह गणना करने के लिए। निम्नलिखित की तरह मैं परिणामस्वरूप जरूरत तालिका:
---------------------------------------------------------
|p_id|total_earned| AVG | Count | SUM |
| | | (desired)|(if earned != 0)|(desired)|
---------------------------------------------------------
| 1 | 7 | 10 | 1 | 30 |
| 2 | 9 | 2 | 3 | 6 |
---------------------------------------------------------
मैं अब तक का निर्माण:
SELECT p_id, SUM(earned), AVG(desired), Sum(desired)
FROM table GROUP BY p_id
लेकिन मैं समझ नहीं कैसे शर्तों के साथ वर्गीकृत किया अभिलेखों की संख्या की गणना करने के। मैं इस नंबर को HAVING
के साथ प्राप्त कर सकता हूं लेकिन अलग-अलग अनुरोध में।
मुझे लगभग यकीन है कि एसक्यूएल में यह शक्ति क्या होनी चाहिए।
मैं Postgres का उपयोग करें, लेकिन मैं सार्वभौमिक समाधान के लिए खोज। –