Ik heb een vraag nodig die dat het recentste aantal opeenvolgende waarden van of A, B of C door personid.
bijvoorbeeld zal terugkeren wordt geoptimaliseerd, zijn de gebieden:
PersonID, mydate, A, B, C
A, B, zal C of of 1 ONGELDIG zijn. Ook, kan slechts één hiervan 1 in een tijd (de andere waarden zullen voor elke rij ONGELDIG zijn) hebben. Mydate wordt niet noodzakelijk bevolen maar wij hebben de recentste opeenvolgende count.
Sample- Gegevens nodig:
PersonID, mydate, A, B, C ================ 1, 2010-04-22, ONGELDIGE 1, NULL 1, 2010-04-18, ONGELDIGE 1, NULL 1, 2010-04-21, ONGELDIGE 1, NULL 2, 2010-04-18, ONGELDIG, 1, NULL 1, 2010-04-14, ONGELDIGE 1, NULL 1, 2010-04-15, ONGELDIG, 1, NULL 2, 2010-04-15, 1, ONGELDIG, de terugkeer/>Would van NULL
PersonID, ConsecType, ConsecCount ====================== 1, A, 3 2, B, 1
The ConsecType noodzakelijk te hoeven niet de naam van het gebied te zijn… misschien kon het een gevalverklaring gebruiken of iets efficiënter om het bestaan van dat value.
I te identificeren denkt lidstaten-SQL 2005 met sommige nieuwere eigenschappen zoals ROW_NUMBER, CTE, VERDELING, enz. komt die dit kunnen kunnen oplossen gemakkelijker. Ik heb vele voorbeelden daar maar niets gezien die gemakkelijk overdraagbaar zijn (op zijn minst aan me!). Zij schijnen ook om opeenvolgende waarden van twee types (gewoonlijk 0 of 1) te behandelen… terwijl dit 3… of potentieel meer heeft. Het zou groot om met een oplossing zijn op de proppen te komen waarin er de types van N zou kunnen zijn die van binaire waarde zijn (1 of VERKLAART nietig). efficiëntere
The de vraag is voor grote datasets, beter!
Thanks!
|