Snowflake में डेटा मैनिपुलेशन
Jake Roach
Field Data Engineer
CASE स्टेटमेंट वाली क्वेरीज़ में एग्रीगेशन फंक्शंस भी लग सकते हैं.
SUM()AVG()MIN()MAX()MODE()$$
बस GROUP BY जोड़ना न भूलें!

SELECT CASE WHEN month_num IN (12, 1, 2) THEN 'Winter' WHEN month_num IN (3, 4, 5) THEN 'Spring' WHEN month_num in (6, 7, 8) THEN 'Summer' ELSE 'Fall' END AS season,AVG(temperature) AS average_temperature, -- AVG() से डेटा प्रोसेस करेंyear_num FROM weather GROUP BY season, year_num; -- non-aggregated फ़ील्ड्स पर group करना याद रखें

SELECT
season,
AVG(
CASE
WHEN season = 'Winter' THEN temperature - 30
WHEN season IN ('Spring', 'Fall') THEN temperature - 60
WHEN season = 'Summer' THEN temperature - 75
END
) AS relation_to_average_temperature
FROM weather
GROUP BY season;

SELECT
...
-- एक CASE स्टेटमेंट परिभाषित करें
CASE ...
FROM <left_table>
-- नए रिकॉर्ड्स को मौजूदा टेबल से JOIN करें
LEFT JOIN <right_table>
...
;
CASEस्टेटमेंट्स दो अलग-अलग टेबल्स से जॉइन किए गए डेटा पर भी बनाए जा सकते हैं.
CASE में एक से अधिक टेबल की कॉलम्स इस्तेमाल करेंLEFT, RIGHT, INNER, OUTER, आदि$$
$$
आइए देखते हैं!
SELECT students.student_name, student_courses.course_name,-- छात्र की grade संख्या और कोर्स की grade दोनों जाँचें CASE WHEN students.grade_num = 12 AND student_courses.grade > 90 THEN 'College Credit Eligible' ELSE 'Too Early for College Credit' END AS college_credit_statusFROM student_courses LEFT JOIN students ON student_courses.student_id = students.student_id;

Snowflake में डेटा मैनिपुलेशन