متعلقہ ٹیبل کی شکل میں اعداد و شمار کی بھاری مقدار میں ذخیرہ کریں. ان جدولوں میں قطار اور کالم کی تعداد بہت ہوسکتی ہے۔ لیکن ، اگر آپ کو قطار کے سطح کے ڈیٹا کو کالم کے اعداد و شمار میں تبدیل کرنا پڑے تو کیا ہوگا؟ ٹھیک ہے ، ایس کیو ایل محور کے اس مضمون میں ، میں آپ کو دکھاتا ہوں کہ کس طرح آپ ایس کیو ایل سرور میں قطار کو کالم میں تبدیل کرسکتے ہیں۔
اس مضمون میں درج ذیل موضوعات کا احاطہ کیا جائے گا۔
جاوا میں سیریلائز کیا ہے؟
ایس کیو ایل میں PIVOT کیا ہے؟
PIVOT کا استعمال ٹیبل ویلیو کو ایک ہی کالم کی انفرادی اقدار کو ایک سے زیادہ کالموں میں تبدیل کرکے ٹیبل ویلیو کو گھومنے کے لئے استعمال کیا جاتا ہے۔ یہ قطاروں کو کالم کی اقدار میں گھومنے کے لئے استعمال ہوتا ہے اور جب باقی کالم کی اقدار پر ضرورت ہوتی ہے تو جمع جمع کرتی ہے۔
دوسری طرف ، UNPIVOT مخالف کارروائیوں کو انجام دینے کے لئے استعمال ہوتا ہے۔ لہذا ، اس کا استعمال کسی مخصوص ٹیبل کے کالم کو کالم ویلیو میں تبدیل کرنے کے لئے کیا جاتا ہے۔
اس مضمون میں آگے بڑھتے ہوئے ، آئیے ہم SQL Pivot کے ترکیب کو سمجھیں۔
نحو:
غیر منتخب شدہ کالم نام منتخب کریں ، [پہلا بنیادی کالم نام] AS کالم نام ، [دوسرا محور کالم کا نام] AS کالم نام ، [تیسرا محرک کالم نام] AS کالم نام ، ... [آخری Pivated کالم نام] AS کالم نام منجانب (منتخب کردہ سوال جو ڈیٹا تیار کرتا ہے) AS [عرف ابتدائی استفسار کے لئے] PIVOT ([AggregationFunction] (ColumName) برائے [کالم کا نام کالم جس کی قدریں کالم ہیڈر بن جائیں گی] IN ([پہلا محور کالم کا نام] ، [دوسرا محور کالم کا نام] ، [تیسرا اہم کالم کا نام] ... [آخری محور کالم])) AS [محور ٹیبل کے لئے عرف]
یہاں ،آپ یہ بھی استعمال کرسکتے ہیں شق کے ذریعہ ترتیب دیں یا تو بڑھتے ہوئے یا نزول ترتیب میں اقدار کو ترتیب دینے کے لئے۔ اب جب آپ جانتے ہیں کہ ایس کیو ایل اور اس کے بنیادی نحو میں PIVOT کیا ہے ، تو آئیے ہم آگے بڑھیں اور دیکھیں کہ اس کا استعمال کیسے کریں۔
مثالیں
آپ کی بہتر تفہیم کے ل I ، میں آپ کو تمام مثالوں کی وضاحت کرنے کے لئے مندرجہ ذیل ٹیبل پر غور کروں گا۔
سپلائر ٹیبل:
سپلائی ایڈ | ڈےسوف مینوفیکچرنگ | لاگت | گاہک کی شناخت | خریداری |
ایک | 12 | 1230 | گیارہ | پی 1 |
2 | اکیس | 1543 | 22 | پی 2 |
3 | 32 | 2. 3. 4. 5 | گیارہ | پی 3 |
4 | 14 | 8765 | 22 | پی 1 |
5 | 42 | 3452 | 33 | پی 3 |
6 | 31 | 5431 | 33 | پی 1 |
7 | 41 | 2342 | گیارہ | پی 2 |
8 | 54 | 3654 | 22 | پی 2 |
9 | 33 | 1234 | گیارہ | پی 3 |
10 | 56 | 6832 | 33 | پی 2 |
آئیے ہم ہر صارف کے خرچ کردہ اوسط قیمت کو حاصل کرنے کے لئے ایک آسان سوال لکھتے ہیں۔
کسٹمرائڈ کے ذریعہ سپلائی کرنے والے گروپ سے کسٹمر ایڈ ، اوسط (لاگت) کے طور پر اوسطاستعمال کریں
آؤٹ پٹ:
گاہک کی شناخت | اوسط کوسٹوف کسٹمر |
گیارہ | 1787.75 |
22 | 4654 |
33 | 5238.33 |
اب ، ہم کہتے ہیں کہ ہم مندرجہ بالا ٹیبل کو محور بنانا چاہتے ہیں۔ یہاں ، کسٹمر ایڈ کالم کی قیمتیں کالم ہیڈر بن جائیں گی۔
- ایک قطار اور تین کالموں کے ذریعہ پییوٹ ٹیبل بنائیں 'اوسطاost خریدار گاہک' منتخب کریں AS-Cost_According_To_Customers ، [11] ، [22] ، [33] منجانب (کسٹمرائڈ سے قیمت ، سپلائرز سے لاگت منتخب کریں) بطور SourceIDable PIVOT (AVG (Cost) In ग्राहक ID ( [11] ، [22] ، [33])) پیو ٹیبل
آؤٹ پٹ:
لاگت_حصول_تو_ گاہک | گیارہ | 22 | 33 |
اوسط کوسٹوف کسٹمر | 1787.75 | 4654 | 5238.33 |
نوٹ: جب آپ استعمال کریں مجموعی کام PIVOT کے ساتھ ، مجموعی کی کمپیوٹنگ کرتے وقت خالی اقدار پر غور نہیں کیا جاتا ہے۔
ٹھیک ہے ، یہ ایک بنیادی مثال تھی ، لیکن اب ہم یہ سمجھیں کہ PIVOT شق نے کیسے کام کیا۔
PIVOT شق کا کام کرنا
جیسا کہ آپ مندرجہ بالا حوالہ دے سکتے ہیں ، ایک پیوٹ ٹیبل بنانے کے ل، ، آپ کو مندرجہ ذیل مراحل پر عمل کرنے کی ضرورت ہے۔
- pivoting کے لئے کالم منتخب کریں
- اس کے بعد ، ایک سورس ٹیبل منتخب کریں۔
- PIVOT آپریٹر کا اطلاق کریں ، اور پھر مجموعی افعال استعمال کریں۔
- محور کی قدروں کا تذکرہ کریں۔
pivoting کے لئے کالم منتخب کریں
ابتدائی طور پر ، ہمیں اپنے نتائج میں شامل کرنے کے لئے قطعات کی وضاحت کرنا ہوگی۔ ہماری مثال میں ، میں نے پائیوٹ ٹیبل میں ایوریو کوسٹف کسٹمر کالم پر غور کیا۔ پھر ہم نے کالم ہیڈر 11 ، 22 ، اور 33 کے ساتھ تین اور کالم بنائے۔ مثال-
منتخب کریں 'اوسطاost گاہک گاہک' AS قیمت_اختیار_تو_ گاہک ، [11] ، [22] ، [33]
سورس ٹیبل منتخب کریں
اگلا ، آپ کو SELECT کا بیان بیان کرنا ہوگا جو محور کی میز کے لئے ماخذ کا ڈیٹا لوٹائے گا۔ ہماری مثال میں ، ہم سپلائرز کی میز سے کسٹمر ایڈ اور لاگت کو واپس کررہے ہیں۔
(کسٹمر ایڈ ، سپلائرز سے لاگت منتخب کریں) بطور SourceTable
PIVOT آپریٹر کا اطلاق کریں ، اور پھر مجموعی افعال استعمال کریں
اگلا ، آپ کو پیوٹ ٹیبل بنانے کے دوران استعمال ہونے والی مجموعی تقریب کی وضاحت کرنی ہوگی۔ ہماری مثال میں ، میں نے اوسط لاگت کا حساب لگانے کے لئے AVG فنکشن استعمال کیا ہے۔
پیوٹ (اوسط (قیمت)
محور کی قدروں کا تذکرہ کریں
آخر میں ، آپ کو ان اقدار کا ذکر کرنا پڑے گا جن کو نتیجہ خیز جدول میں شامل کرنا ہے۔ یہ اقدار محور جدول میں کالم کی عنوان کے طور پر استعمال ہوں گی۔
پیوٹ ٹیبل کے طور پر کسٹمرائڈ ان ([11] ، [22] ، [33])) کے لئے
اس طرح PIVOT آپریٹرز کام کرتے ہیں۔ اس مضمون کو SQL PIVOT پر آگے بڑھتے ہوئے ، آئیے ہم سمجھیں کہ یہ SQL UNPIVOT سے کتنا مختلف ہے۔
SQL UNPIVOT
ایس کیو ایل UNPIVOT آپریٹر کو PIVOT کے مخالف عمل انجام دینے کے لئے استعمال کیا جاتا ہے۔ اس کا استعمال کالم ڈیٹا کو قطار کے سطح کے اعداد و شمار میں گھمایا جاتا ہے۔ UNPIVOT کا ترکیب ، PIVOT کی طرح ہے۔ فرق صرف اتنا ہے کہ آپ کو استعمال کرنا ہے ' UNPIVOT ” .
مثال:
آئیے کالم سپلائر آئی ڈی ، اے اے اے ، بی بی بی ، اور سی سی سی کے ساتھ ایک ٹیبل بنائیں۔ نیز ، کچھ قدریں داخل کریں۔
ٹیبل کے نمونے لینے والے بنائیں (سپلائر آئی ڈی انٹ ، اے اے اے انٹ ، بی بی بی انٹ ، سی سی سی انٹ) نمونے والی قیمتوں میں داخل کریں (1،3،5،6) داخل کردہ نمونے والی قیمتیں (2،9،2،8) داخل کردہ نمونے والی قیمتیں (3 ، 8،1،7) جی او
آؤٹ پٹ:
سپلائی ایڈ | AAA | بی بی بی | سی سی سی |
ایک | 3 | 5 | 6 |
2 | 9 | 2 | 8 |
3 | 8 | ایک | 7 |
اب ، ہم بتائیں ، ہم میز کو غیر منقول بنانا چاہتے ہیں۔ ایسا کرنے کے ل you ، آپ درج ذیل کوڈ کا حوالہ دے سکتے ہیں:
سپلائر آئی ڈی ، صارفین ، مصنوعات منجانب (منتخب کریں سپلائیڈیڈ ، اے اے اے ، بی بی بی ، سی سی سی سے نمونے لینے والے) پی ان انپائیوٹ (گاہکوں کے لئے مصنوعات (اے اے اے ، بی بی بی ، سی سی سی)) مثال کے طور پر جی او
سپلائی ایڈ | گاہکوں | مصنوعات |
ایک | AAA | 3 |
ایک | بی بی بی | 5 |
ایک مربع مثال میں ڈیٹا ٹائپ | سی سی سی | 6 |
2 | AAA | 9 |
2 | بی بی بی | 2 |
2 | سی سی سی | 8 |
3 C ++ میں کسی صف کو کس طرح ترتیب دیں | AAA | 8 |
3 | بی بی بی | ایک |
3 | سی سی سی | 7 |
اس طرح آپ SQL PIVOT اور UNPIVOT استعمال کرسکتے ہیں۔ اس کے ساتھ ، ہم اس مضمون کو ختم کردیں گے۔ مجھے امید ہے کہ آپ سمجھ گئے ہوں گے کہ ایس کیو ایل کا استعمال کیسے کریں۔ اگر آپ اس کے بارے میں مزید معلومات حاصل کرنا چاہتے ہیں ایس کیو ایل اور اس اوپن سورس سے متعلقہ ڈیٹا بیس کو جاننے کے ل. ، پھر ہمارا چیک کریں جو انسٹرکٹر کی زیر قیادت براہ راست تربیت اور حقیقی زندگی کے منصوبے کے تجربے کے ساتھ آتا ہے۔ اس تربیت سے آپ کو ایس کیو ایل کو گہرائی میں سمجھنے اور اس موضوع پر عبور حاصل کرنے میں مدد ملے گی۔
ہمارے لئے ایک سوال ہے؟ براہ کرم ایس کیو ایل پائیوٹ پر اس مضمون کے تبصرے والے حصے میں اس کا ذکر کریں اور میں آپ کو واپس ملوں گا۔