समूह परिणामों को सीमित करना

Oracle SQL परिचय

Hadrien Lacroix

Content Developer

अपने उदाहरण पर वापस

SELECT Composer, AVG(Milliseconds)
FROM Track
WHERE UnitPrice = 0.99
GROUP BY Composer
| Composer        | AVG(Milliseconds) |
|-----------------|-------------------|
| Antonio Vivaldi | 199,086.0         |
| Pearl Jam       | 94,197.0          |
| Jimmy Page      | 474,888.3         |
| Carlos Santana  | 499,234.3         |
| ...             | ...               |

समूहीकरण के बाद फ़िल्टरिंग कैसे करें?

Oracle SQL परिचय

WHERE की सीमाएँ

  • WHERE से समूहों को फ़िल्टर नहीं किया जा सकता
    • WHERE क्लॉज़ में group functions का उपयोग नहीं हो सकता
Oracle SQL परिचय

WHERE की सीमाओं का उदाहरण

SELECT Composer, AVG(Milliseconds)
FROM Track
GROUP BY Composer
WHERE AVG(Milliseconds) > 200000
syntax error at or near "WHERE"
LINE 4: WHERE AVG(Milliseconds) > 200000
        ^
Oracle SQL परिचय

HAVING

SELECT Composer, AVG(Milliseconds)
FROM Track
GROUP BY Composer
HAVING AVG(Milliseconds) > 200000
| composer    | avg    |
|-------------|--------|
| George Duke | 274155 |
| Miles Davis | 391146 |
| R. Carless  | 251585 |
| ...         | ...    |
Oracle SQL परिचय

HAVING से समूह परिणाम सीमित करना

Having क्लॉज़ का flow

Oracle SQL परिचय

HAVING

SELECT Composer, MAX(Milliseconds)
FROM Track
GROUP BY Composer
HAVING MAX(Milliseconds) > 200000
| composer    | max    |
|-------------|--------|
| George Duke | 274155 |
| Miles Davis | 907520 |
| R. Carless  | 251585 |
| ...         | ...    |

Oracle SQL परिचय

एक और उदाहरण

SELECT Composer, SUM(UnitPrice)
FROM Track
WHERE GenreId = 1
GROUP BY Composer
HAVING COUNT(*) > 4
| composer      | sum  |
|---------------|------|
| AC/DC         | 7.92 |
| Chris Cornell | 9.90 |
| Eddie Vedder  | 8.91 |
| ...           | ...  |
Oracle SQL परिचय

Guidelines

  • SELECT और HAVING में अलग group functions हो सकते हैं

  • HAVING में हमेशा कोई grouping function होता है

ऑपरेशन्स का क्रम:

  1. पंक्तियाँ WHERE और GROUP BY से फ़िल्टर होती हैं
  2. समूहों पर group function लगाया जाता है
  3. समूह HAVING से फ़िल्टर होकर आउटपुट होते हैं
Oracle SQL परिचय

अभ्यास करते हैं!

Oracle SQL परिचय

Preparing Video For Download...