📊 SQL Server में PIVOT & UNPIVOT – हिंदी में पूरी जानकारी
🔑 (परिभाषा)
PIVOT data को rows से columns में बदलता है, जबकि UNPIVOT data को columns से rows में। यह reports और data analysis के लिए उपयोगी होता है।
📋 Demo Table: Sales
CREATE TABLE Sales (
Year INT,
Quarter NVARCHAR(10),
Amount INT
);
INSERT INTO Sales VALUES
(2024, 'Q1', 10000),
(2024, 'Q2', 15000),
(2024, 'Q3', 12000),
(2024, 'Q4', 18000);
🔄 PIVOT Example
हम चाहते हैं कि quarters rows में न होकर columns में हों:
SELECT * FROM
(
SELECT Year, Quarter, Amount FROM Sales
) AS SourceTable
PIVOT
(
SUM(Amount)
FOR Quarter IN ([Q1], [Q2], [Q3], [Q4])
) AS PivotTable;
🧪 Output:
Year | Q1 | Q2 | Q3 | Q4 |
---|---|---|---|---|
2024 | 10000 | 15000 | 12000 | 18000 |
🔃 UNPIVOT Example
PIVOT के उल्टा – हम Q1, Q2, Q3, Q4 को फिर से row में बदलते हैं:
SELECT Year, Quarter, Amount
FROM
(
SELECT Year, [Q1], [Q2], [Q3], [Q4] FROM
(
SELECT Year, Quarter, Amount FROM Sales
) AS SourceTable
PIVOT (
SUM(Amount)
FOR Quarter IN ([Q1], [Q2], [Q3], [Q4])
) AS PivotedTable
) AS UnpivotSource
UNPIVOT
(
Amount FOR Quarter IN ([Q1], [Q2], [Q3], [Q4])
) AS FinalResult;
📊 Difference Table
Feature | PIVOT | UNPIVOT |
---|---|---|
Purpose | Rows को columns में बदलना | Columns को rows में बदलना |
Use Case | Report display | Data transformation |
Required | Aggregation Function | नहीं |
Syntax | PIVOT() | UNPIVOT() |
🧠 INTERVIEW QUESTIONS (with Answers)
- Q: PIVOT का use कब करें?
Ans: जब row values को column में show करना हो report के लिए। - Q: UNPIVOT कब useful होता है?
Ans: जब column data को normalize या row format में लाना हो। - Q: क्या PIVOT में aggregation जरूरी है?
Ans: हाँ, SUM, COUNT, AVG आदि aggregation function जरूरी होते हैं। - Q: क्या हम बिना derived table के PIVOT कर सकते हैं?
Ans: नहीं, PIVOT हमेशा derived subquery पर होता है। - Q: UNPIVOT से performance impact होता है?
Ans: हाँ, large data पर यह costly हो सकता है।
📘 यह पोस्ट Job Oriented Academy द्वारा data analysis सीखने वालों के लिए तैयार की गई है।
0 Comments