Question
Consider a table Orders with columns OrderID,
CustomerID, OrderDate, and TotalAmount. Which SQL query would correctly find the total number of orders and the average TotalAmount for each CustomerID who has placed more than 5 orders? Option A) SELECT CustomerID, COUNT(OrderID), AVG(TotalAmount) FROM Orders GROUP BY CustomerID WHERE COUNT(OrderID) > 5; Option B) SELECT CustomerID, COUNT(OrderID), AVG(TotalAmount) FROM Orders WHERE COUNT(OrderID) > 5 GROUP BY CustomerID; Option C) SELECT CustomerID, COUNT(OrderID), AVG(TotalAmount) FROM Orders GROUP BY CustomerID HAVING COUNT(OrderID) > 5; Option D) SELECT CustomerID, COUNT(OrderID), AVG(TotalAmount) FROM Orders HAVING COUNT(OrderID) > 5 GROUP BY CustomerID; Option E) None of the aboveSolution
SELECT CustomerID, COUNT(OrderID), AVG(TotalAmount) FROM Orders GROUP BY CustomerID HAVING COUNT(OrderID) > 5; Explanation: The WHERE clause is used to filter individual rows *before* grouping, and it cannot contain aggregate functions. The HAVING clause is used to filter groups *after* the GROUP BY clause has been applied, and it can use aggregate functions. The correct order of execution in a SELECT statement is FROM, JOIN, WHERE, GROUP BY, HAVING, SELECT, ORDER BY. Therefore, to filter groups based on an aggregate condition (COUNT(OrderID) > 5), the HAVING clause must be used after GROUP BY.
लेखक के अनुसार देश का अस्तित्व कब दाँव पर लग जाता है –
1 अर्जुन अश्वत्थामा को पकड़ने के लिए निकल पड़े।
(...
नीचे दिया गया प्रत्येक वाक्य चार भागों में बांटा गया है ज�...
1
इनमें से किस शब्द मे चंद्र बिन्दु संबंधित अशुद्धि हैं -
लेखक के अनुसार घटिया नागरिक कौन है?
निम्नलिखित प्रश्न में , चार विकल्पों में से , उस विकल्प का �...
दिए गए अनुच्छेद के अनुसार “ precautions” का हिन्दी अनुवाद क्या हो�...
6
(1) भारत में पुरुषों और स्त्रियों की
( य) वृद्धि हु�...