जैसा कि आप जानते हैं कि एलएजी() & लीड() विश्लेषणात्मक फ़ंक्शंस एक ही परिणाम में पिछली और अगली पंक्ति से डेटा को स्वयं-जुड़ने के उपयोग के बिना सेट करते हैं। लेकिन क्या नल मूल्यों तक पहुंचने तक नल मूल्यों को अनदेखा करना संभव है?SQL सर्वर में LAG() और LEAD() फ़ंक्शंस का उपयोग करते समय नल मानों को अनदेखा करना संभव है?
उत्तर
ओरेकल 11 ignore nulls
विकल्प का समर्थन करता है जो आप वही चाहते हैं जो आप चाहते हैं। बेशक, आपका प्रश्न SQL सर्वर के बारे में है, लेकिन कभी-कभी यह जानकर खुशी हो रही है कि कार्यक्षमता कहीं मौजूद है।
इस कार्यक्षमता को अनुकरण करना संभव है। विचार पिछले मान के आधार पर समूह को शून्य मान असाइन करना है। संक्षेप में, यह इससे पहले गैर-शून्य मानों की संख्या को गिन रहा है। आप इसे एक सहसंबंधित सबक्वायरी के साथ कर सकते हैं। या, दो पंक्ति संख्याओं के अंतर के साथ, और अधिक दिलचस्प बात है। फिर समूह के भीतर, आप केवल max()
का उपयोग कर सकते हैं।
मुझे लगता है कि आप जो चाहते हैं वह निम्नलिखित करता है। मान लें कि col
NULL
मान हैं और ordering
पंक्तियों के लिए आदेश देने की है:
select t.*,
max(col) over (partition by grp) as LagOnNull
from (select t.*,
(row_number() over (order by ordering) -
row_number() over (partition by col order by ordering)
) as grp
from table t
) t;
lead()
समान है, लेकिन आदेश उलट है। और, यह अतिरिक्त विभाजन कुंजी के साथ काम करेगा, लेकिन आपको उन्हें सभी विंडो अभिव्यक्तियों में जोड़ना होगा।
विंडो कार्यों का उपयोग करना संभव है। अधिक जानकारी के लिए इट्ज़िक बेन-गण द्वारा इस article का एक पठन पढ़ें।
नीचे दिए गए कोड में, सीटीई को हाल ही में न्यूल आईडी मान प्राप्त हो रहा है, तो अगला चयन वास्तविक कॉलम मान प्राप्त करता है। यह उदाहरण एलएजी का उपयोग करता है। उदाहरण के लिए।
-- DDL for T1
SET NOCOUNT ON;
USE tempdb;
IF OBJECT_ID(N'dbo.T1', N'U') IS NOT NULL DROP TABLE dbo.T1;
GO
CREATE TABLE dbo.T1
(
id INT NOT NULL CONSTRAINT PK_T1 PRIMARY KEY,
col1 INT NULL
);
-- Small set of sample data
TRUNCATE TABLE dbo.T1;
INSERT INTO dbo.T1(id, col1) VALUES
(2, NULL),
(3, 10),
(5, -1),
(7, NULL),
(11, NULL),
(13, -12),
(17, NULL),
(19, NULL),
(23, 1759);
;WITH C AS
(
SELECT
id,
col1,
MAX(CASE WHEN col1 IS NOT NULL THEN id END) OVER(ORDER BY id ROWS UNBOUNDED PRECEDING) AS grp
FROM dbo.T1
)
SELECT
id,
col1,
(SELECT col1 FROM dbo.T1 WHERE id = grp) lastval
FROM C;
- 1. ओएसजीआई का उपयोग करते समय बाइटकोड मैनिपुलेशन करना संभव है?
- 2. SQL सर्वर कैसे नल बिट डेटाटाइप को संकुचित करता है?
- 3. एनए मानों को अनदेखा करते समय cumsum() की गणना करें
- 4. पांडा में समूह का उपयोग करते समय कॉलम में "पहला" और "आखिरी" फ़ंक्शंस कैसे लागू करें?
- 5. क्या सिम कार्ड क्रिप्टोग्राफिक फ़ंक्शंस का उपयोग करना संभव है?
- 6. लिंक का उपयोग करते समय, डबनुल नल के बराबर है?
- 7. डैपर का उपयोग कर एक बड़े SQL सर्वर डेटाबेस परिणाम सेट को स्ट्रीम करना संभव है?
- 8. SQL सर्वर 2005
- 9. क्या LINQ से SQL के साथ स्केलर फ़ंक्शंस का उपयोग/एक्सेस करना संभव है?
- 10. परिवर्तनीय मानों से SQL सर्वर डेटाबेस में NULL मानों को सम्मिलित करना
- 11. मेटाडेटा मानों पर आइटम फ़ंक्शंस का उपयोग
- 12. SQL Server 2008 रिकॉर्ड्स को सॉर्ट करते समय स्टॉपवर्ड को अनदेखा करना
- 13. मैवेन जेटटी का उपयोग करते समय: रन - क्या संकलन चरण को अक्षम करना संभव है?
- 14. उपयोगकर्ता स्थान को अद्यतन या डिफ़ॉल्ट मानों का उपयोग करते समय MKMapView को रीफ्रेश करना
- 15. क्या xpath और C# का उपयोग कर केस को अनदेखा करना संभव है?
- 16. वर्डप्रेस डेटाबेस डालने() और अद्यतन() - नल मानों का उपयोग
- 17. phpMyAdmin में लॉगिन करते समय होस्ट निर्दिष्ट करना संभव है?
- 18. SQL सर्वर का उपयोग करते समय क्वेरी इंजेक्शन को रोकने के लिए यह पर्याप्त है?
- 19. अंडरस्कोर का उपयोग कर कई मानों से सरणी मानों को फ़िल्टर करना संभव है?
- 20. Linq में नल दिनांक समय आदेश SQL को
- 21. नल पॉइंटर एक्सेप्शन बंडल का उपयोग करते समय डेटा
- 22. jQuery .each() का उपयोग करते समय, क्या एक गैर-अज्ञात फ़ंक्शन का उपयोग करना संभव है?
- 23. क्या व्यूस्टेट मानों को डिक्रिप्ट करना और देखना संभव है?
- 24. क्या SQL सर्वर में ISNULL() का उपयोग करते समय कोई प्रदर्शन समस्या है?
- 25. string.text.contains का उपयोग करते समय अनदेखा कैसे करें?
- 26. Twemproxy Lag एक पुनरारंभ
- 27. Matlab में bar3 का उपयोग करते समय x और y मानों को कैसे सेट करें?
- 28. मॉडल के पहले दृष्टिकोण का उपयोग करते समय दृश्य को कैश करना संभव है?
- 29. जावा जेएनआई का उपयोग करते समय कोर डंप को डीबग करना संभव है?
- 30. क्या एएसपी.NET सत्रों का उपयोग करते समय अनुरोध समेकन को मजबूर करना संभव है?
आपके उत्तर गॉर्डन के लिए धन्यवाद। लेकिन मैं इस नमूने में 'col2' क्या समझ नहीं पा रहा हूं? – Mostapha777
'col2'' col' होना चाहिए, 'lag() '/' लीड() 'के लिए तर्क। –
क्रिएटिव समाधान गॉर्डन। लेकिन दुर्भाग्य से मेरे लिए काम नहीं किया :( – Mostapha777