Reputation: 458
We have Microsoft SQL Server10.50.6529. Whenever I run this query I get different results:
SELECT YEAR(A.EndZeit) AS Jahr
, MONTH(A.EndZeit) AS Monat
, CASE b.Priority
WHEN 3
THEN 'Low'
ELSE ' '
END AS "Priority"
, count(*) AS Anzahl
FROM VIEW_INC_CI B
JOIN (
SELECT Endzeit
, Incident_Number
FROM (
SELECT ROW_NUMBER() OVER (
PARTITION BY A.Incident_Number ORDER BY A.Incident_Number
) AS rk
, A.Incident_Number
, A.EndZeit
FROM Calculation.IncidentAssignmentHistory A
JOIN SPG.GruppenGruppen G
ON A.AssignedGroupID = G.Support_Group_ID
AND G.GroupName = 'GRPName'
) T
WHERE rk = 1
) A
ON B.Incident_Number = A.Incident_Number
WHERE B.Priority = 3
AND B.STATUS != 6
AND B.resolution_category NOT IN ('CategoryXY')
GROUP BY MONTH(A.EndZeit)
, YEAR(A.EndZeit)
, B.Priority
ORDER BY YEAR(A.EndZeit)
, MONTH(A.EndZeit);
I have replaced both inner queries with temporary tables having the same effect. The DB is static, what means, there aren't created any additional records while the query is running.
Does anyone have an idea, how to get around this strange behavior?
We get: first Try:
Jahr Monat Prio Anzahl
2013 10 Low 772
2013 11 Low 831
2013 12 Low 777
2014 1 Low 1087
2014 2 Low 1033
2014 3 Low 726
2014 4 Low 763
2014 5 Low 1799
2014 6 Low 1964
2014 7 Low 1912
2014 8 Low 1776
2014 9 Low 1682
2014 10 Low 1715
2014 11 Low 1623
2014 12 Low 1507
2015 1 Low 1755
2015 2 Low 1994
Second Try:
2013 10 Low 775
2013 11 Low 829
2013 12 Low 778
2014 1 Low 1087
2014 2 Low 1031
2014 3 Low 729
2014 4 Low 758
2014 5 Low 1797
2014 6 Low 1973
2014 7 Low 1912
2014 8 Low 1779
2014 9 Low 1678
2014 10 Low 1706
2014 11 Low 1620
2014 12 Low 1516
2015 1 Low 1748
2015 2 Low 2002
This is the Definition of View_Incident_CI:
USE [PREPORTDWH01]
GO
/****** Object: View [dbo].[VIEW_INC_CI] Script Date: 01/11/2017 11:06:07 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create view [dbo].[VIEW_INC_CI] as (
select
H.Entry_ID,
H.Submitter,
H.Submit_Date,
H.Assignee_Login_ID,
H.Last_Modified_By,
H.Last_Modified_Date,
H.Status,
H.Short_Description,
H.Assignee_Groups,
H.InstanceId,
H.Vendor_Assignee_Groups,
H.User_ID_Permissions,
H.z1G_DefaultVUI,
H.RootRequestName,
H.Created_from_Template,
H.Product_Categorization_Tier_1,
H.Product_Categorization_Tier_2,
H.Product_Categorization_Tier_3,
H.Department,
H.Site_Group,
H.Region,
H.LookupKeyword,
H.Product_Name,
H.Manufacturer,
H.Product_Model_Version,
H.Escalated_,
H.Site,
H.Reason_Code,
H.Reason_Description,
H.Return_Code,
H.Assignee_Id,
H.SRAttachment,
H.Created_By,
H.Show_For_Process,
H.Command,
H.Enable_Assignment_Engine,
H.Assignee_Select_Form,
H.SRInstanceID,
H.HPD_Template_ID,
H.Original_Last_Modified_Date,
H.Original_Last_Modified_By,
H.zD_NextDueDate_Time,
H.PreviousStatus,
H.StageCondition,
H.CurrentStage,
H.CurrentStageNumber,
H.UnknownUser,
H.SRMS_Registry_Instance_ID,
H.SRMSAOIGuid,
H.SRID,
H.TemplateID,
H.DataTags,
H.SLMLookupTblKeyword,
H.Last__Assigned_Date,
H.TicketType,
H.Association_Description,
H.Created_From_flag,
H.Flag_Create_Request,
H.Component_ID,
H.mc_ueid,
H.cell_name,
H.SLMEventLookupTblKeyword,
H.policy_name,
H.status_incident,
H.status_reason2,
H.root_component_id_list,
H.root_incident_id_list,
H.Impact_OR_Root,
H.bOrphanedRoot,
H.OptionForClosingIncident,
H.first_name2,
H.last_name2,
H.Login_ID,
H.Global_OR_Custom_Mapping,
H.use_case,
H.BiiARS_01,
H.BiiARS_02,
H.BiiARS_03,
H.BiiARS_04,
H.BiiARS_05,
H.z1D_TotalBreachedIncidentsCoun,
H.z1D_TotalCriticalIncidentsCoun,
H.ClientLocale,
H.ServiceCI,
H.HPD_CI,
H.TemplateGUID,
H.ServiceCI_ReconID,
H.HPD_CI_ReconID,
H.z1D_CI_FormName,
H.CI,
H.Service,
H.z1D_Template_Name,
H.INCAutoCloseResolved_Sec,
H.z1D_VISFormView,
H.z1D_VISProcessFlowView,
H.z1D_VISTargetForm,
H.z1D_VendorAccess,
H.Direct_Contact_Corporate_ID,
H.KMSGUID,
H.HPD_CI_FormName,
H.Kickback_Count,
H.Last_Kickback_Date,
H.EffortDurationHour,
H.z2AF_Work_Log01001,
H.z2AF_Work_Log02001,
H.z2AF_Work_Log03001,
H.ServiceCI_Class,
H.Direct_Contact_Login_ID,
H.Customer_Login_ID,
H.z1D_ServiceHealth,
H.Description,
H.Company,
H.Country,
H.State_Province,
H.City,
H.Organization,
H.Assigned_Support_Organization,
H.Full_Name,
H.Last_Name,
H.First_Name,
H.Middle_Initial,
H.Contact_Client_Type,
H.VIP,
H.Contact_Sensitivity,
H.Country_Code,
H.Area_Code,
H.Local_Phone,
H.Extension,
H.Desk_Location,
H.Mail_Station,
H.Street,
H.Zip_Postal_Code,
H.GEOnet,
H.Internet_E_mail,
H.Corporate_ID,
H.Phone_Number,
H.Categorization_Tier_1 as operationalcategorizationtier1,
H.Categorization_Tier_2 as operationalcategorizationtier2,
H.Categorization_Tier_3 as operationalcategorizationtier3,
H.HR_ID,
H.Site_ID,
H.Assigned_Group_ID,
H.Person_ID,
H.Contact_Company,
H.Service_Type,
H.CI_Tag_Number,
H.Status_PPL,
H.Additional_Location_Details,
H.Status_Reason,
H.Detailed_Decription,
H.Resolution,
H.Incident_Number,
H.Urgency,
H.Impact,
H.Priority,
H.Priority_Weight,
H.Cost_Center,
H.Reported_Source,
H.Assigned_Group,
H.Assignee,
H.Vendor_Phone,
H.Assigned_Support_Company,
H.Shifts_Flag,
H.Assigned_Group_Shift_Name,
H.Assigned_Group_Shift_ID,
H.Owner_Support_Organization,
H.Vendor_Name,
H.Owner_Group,
H.Owner_Support_Company,
H.Owner_Group_ID,
H.Time_Zone,
H.Total_OLA_AcknowledgeEsc_Level,
H.Total_Escalation_Level,
H.Total_OLA_Resolution_Esc_Level,
H.Reported_Date,
H.Responded_Date,
H.Last_Acknowledged_Date,
H.Last_Resolved_Date,
H.Closed_Date,
H.Last_SLA_Hold_Date,
H.Re_Opened_Date,
H.SLA_Hold,
H.Onwer_Group_Uses_SLA,
H.Assigned_Group_Uses_OLA,
H.Last_Date_Duration_Calculated,
H.Effort_Time_Spent_Minutes,
H.Vendor_Ticket_Number,
H.Owner,
H.Owner_Login_ID,
H.Total_Time_Spent,
H.Generic_Categorization_Tier_1 ,
H.Generic_Categorization_Tier_2 ,
H.Generic_Categorization_Tier_3 ,
H.Vendor_Contact,
H.Incident_Association_Type,
H.Original_Incident_Number,
H.Reported_to_Vendor,
H.Patch_Last_Build_ID,
H.Infrastructure_Chg_Initiated,
H.Category,
H.Reproduceable_Flag,
H.Assign_To_Vendor,
H.Broadcasted_Flag,
H.Web_Incident_ID,
H.SLM_Priority,
H.OLA_Hold,
H.SLA_Responded,
H.Acknowledgment_Start_Date,
H.Resolution_Start_Date,
H.EH,
H.DR,
H.SLA_Res_Business_Hour_Seconds,
H.Assignment_Method,
H.Resolution_Category,
H.Next_Target_Date,
H.SLM_Status,
H.Direct_Contact_Internet_E_mail,
H.Vendor_Organization,
H.Vendor_Group,
H.Vendor_Group_ID,
H.Vendor_Email,
H.Vendor_Responded_On,
H.Vendor_Last_Name,
H.Vendor_First_Name,
H.Vendor_Person_ID,
H.Vendor_Resolved_Date,
H.Group_Transfers,
H.Total_Transfers,
H.Individual_Transfers,
H.Vendor_Login_ID,
H.Vendor_Assignment_Status,
H.Resolution_Method,
H.Resolution_Category_Tier_2,
H.Resolution_Category_Tier_3,
H.Closure_Product_Category_Tier1,
H.Closure_Product_Category_Tier2,
H.Closure_Product_Category_Tier3,
H.Closure_Product_Name,
H.Closure_Product_Model_Version,
H.Closure_Manufacturer,
H.SLA_Breach_Reason,
H.SLA_Breach_Exception,
H.Closure_Source,
H.Satisfaction_Rating,
H.Estimated_Resolution_Date,
H.Required_Resolution_DateTime,
H.Inbound,
H.Outbound,
H.Direct_Contact_Company,
H.Direct_Contact_Last_Name,
H.Direct_Contact_First_Name,
H.Direct_Contact_Middle_Initial,
H.Direct_Contact_Phone_Number,
H.Direct_Contact_Organization,
H.Direct_Contact_Department,
H.Direct_Contact_Region,
H.Direct_Contact_Site_Group,
H.Direct_Contact_Site,
H.Direct_Contact_Person_ID,
H.Direct_Contact_Street,
H.Direct_Contact_Country,
H.Direct_Contact_State_Province,
H.Direct_Contact_City,
H.Direct_Contact_Zip_Postal_Code,
H.Direct_Contact_Time_Zone,
H.Direct_Contact_Desk_Location,
H.Direct_Contact_Mail_Station,
H.Direct_Contact_Location_Detail,
H.Direct_Contact_Site_ID,
H.Direct_Contact_Country_Code,
H.Direct_Contact_Area_Code,
H.Direct_Contact_Local_Number,
H.Direct_Contact_Extension,
H.z2AF_Work_Log01002,
H.z2AF_Work_Log02002,
H.z2AF_Work_Log03002,
H.Attachment,
H.Support_Group_Role,
H.Reuters__c,
H.Solution_by___c,
H.Character_Field,
H.Responsible___c,
H.ObservedBy,
H.Responsible_,
H.Solution_by_,
H.Reuters,
H.SIX_Restricted_Data_link2,
H.SIX_Restricted_Data_link3,
H.ResolutionAttachment,
H.ResolutionAttachment__c,
B.RequestId,
B.Submitter as CI_Submitter,
B.CreateDate as CI_CreateDate,
B.AssignedTo,
B.LastModifiedBy,
B.ModifiedDate,
B.Status as CI_Status,
B.ShortDescription,
B.CMDBRowLevelSecurity,
B.InstanceId as CI_IncstanceId,
B.CMDBWriteSecurity,
B.SerialNumber,
B.Category as [Product Categorization Tier 1],
B.Type as [Product Categorization Tier 2],
B.Item as [Product Categorization Tier 3],
B.Name as [CI Name],
B.History,
B.Description as CI_Description,
B.Notes,
B.Model as [Product Name],
B.ManufacturerName,
B.ManufacturerID,
B.VersionNumber,
B.Site as CI_Site,
B.Room,
B.Supported,
B.UsersAffected,
B.LastScanDate,
B.OwnerContact,
B.OwnerName,
B.ImpactComputationModel,
B.NameFormat,
B.FailedAutomaticIdentification,
B.Priority as CI_Priority,
B.AccountID,
B.ClassId,
B.OpIdWeakReference,
B.DatasetId,
B.RelDataSetId1,
B.RelDataSetId2,
B.MarkAsDeleted,
B.ReconciliationIdentity,
B.RelReconciliationIdentity1,
B.RelReconciliationIdentity2,
B.RelLeadInstanceId,
B.RelLeadClassId,
B.LastREJobrunId,
B.RelInstanceId1,
B.RelClassId1,
B.RelInstanceId2,
B.RelClassId2,
B.CDMachineID,
B.TokenId,
B.TokenFormat,
B.Confidentiality,
B.Availability,
B.Integrity,
B.AttributeDataSourceList,
B.ReferenceInstance,
B.zCMDBEngTimestampStub,
B.DictionaryId,
B.NormalizationStatus,
B.CITag,
B.ParentCITag,
B.MFIntegrationID,
B.ReconciliationMergeStatus,
B.ADDMIntegrationId,
B.MarketVersion,
B.NEFeatureStatusMask,
B.ReconciliationIdType,
B.LastUpdatedDatasetId,
B.ReconciliationIdChanged,
B.ReconciliationIdentificationEr,
B.SIX_TMP_Avail_Date,
B.SIX_TMP_CostCenter,
B.SIX_TMP_TagNumber,
B.SIX_TMP_AccountingCode,
B.SIX_TMP_Inst_Date,
B.SIX_TMP_Received_Date,
B.SIX_TMP_Purchase_Date,
B.SIX_TMP_ServiceCode,
B.Company as CI_Company,
B.SIX_TMP_AssetID_CIID
from HPD_HELP_DESK H
join AST_CMDB_Associations A
on H.Incident_Number = A.Request_ID01
join BMC_CORE_BMC_BaseElement B
on A.Request_ID02 = B.ReconciliationIdentity
)
GO
Upvotes: 0
Views: 79
Reputation: 35790
I have seen similar problems when using row_number
window function. Most probably that your ordering is not breaking the tie. In case of duplicates in Incident_Number
without breaking the tie it can result in ranking rows differently:
PARTITION BY A.Incident_Number ORDER BY A.Incident_Number
Try adding the order by some ID
after Incident_Number
:
PARTITION BY A.Incident_Number ORDER BY A.Incident_Number, A.ID
That can be rewritten as:
PARTITION BY A.Incident_Number ORDER BY A.ID
Upvotes: 4