sql-server - समझ - पल सकल नोट्स इन हिंदी




एसक्यूएल-एक क्वेरी में 2 गणना (2)

मेरे पास 2 प्रश्न हैं जो एक तालिका में अलग-अलग सूचनाओं की गणना करते हैं:

SELECT Date, COUNT(*) AS Total 
FROM Table
WHERE Type = 7 AND Date >= '2010-01-01' 
GROUP BY Date 
HAVING COUNT(*) > 5000  
ORDER BY Date

जो सभी 'व्यस्त' तिथियों के लिए योग देता है:

Date       Total
---------- -----------
2010-01-05 9466
2010-02-02 8747
2010-03-02 9010
2010-04-06 7916
2010-05-05 9342
2010-06-02 8723
2010-07-02 7829
2010-08-03 8411
2010-09-02 7687
2010-10-04 7706
2010-11-02 8567
2010-12-02 7645

तथा

SELECT Date, COUNT(*) AS Failures
FROM Table
WHERE Type = 7 AND ErrorCode = -2 AND Date >= '2010-01-01' 
GROUP BY Date 
ORDER BY Date

जो कुल विफलताओं को वापस देता है (जो सभी व्यस्त तिथियों पर हुआ):

Date       Failures
---------- -----------
2010-09-02 29
2010-10-04 16
2010-11-02 8

क्या ये एक परिणाम बदलने के लिए इन्हें एक ही क्वेरी में जोड़ना संभव है?

उदाहरण के लिए:

Date       Total       Failures
---------- ----------- -----------
2010-01-05 9466
2010-02-02 8747
2010-03-02 9010
2010-04-06 7916
2010-05-05 9342
2010-06-02 8723
2010-07-02 7829
2010-08-03 8411
2010-09-02 7687         29
2010-10-04 7706         16
2010-11-02 8567         8
2010-12-02 7645

यदि आप एक ही स्थान पर पुनर्रचना कर सकते हैं, तो यह संभव होना चाहिए

मैंने आपकी HAVING (गणना ()) को ध्यान में नहीं लिया है

SELECT [Date], COUNT(*) AS Total, SUM(CASE WHEN ErrorCode = -2 THEN 1 ELSE 0 END) AS Failures 
FROM [Table]
WHERE [Type] = 7  AND [Date] >= '2010-01-01'  
GROUP BY [Date]  
ORDER BY [Date] 

संपादित करें: यहां कुछ परीक्षण डेटा है

create table [Table]
(
[ErrorCode] int,
[Type] int,
[Date] datetime
)

insert into [table]([Date], [Type], [ErrorCode] )values ('1 Jan 2010', 7, 0)
insert into [table]([Date], [Type], [ErrorCode] )values ('1 Jan 2010', 7, -2)
insert into [table]([Date], [Type], [ErrorCode] )values ('2 Jan 2010', 7, -2)
insert into [table]([Date], [Type], [ErrorCode] )values ('2 Jan 2010', 8, -2)
insert into [table]([Date], [Type], [ErrorCode] )values ('2 Jan 2010', 7, 1)

हाँ, आपको 2 तालिकाओं के बीच सभी को एक यूनिअन करने में सक्षम होना चाहिए







group-by