Wednesday, March 21, 2012

How do I get unique rows based on studentID

I am a beginner at SQL so thanks ahead of time....

How do I get unique rows based on studentID? Distinct and group by don't seem to work

DESIRED RESULTS

StudentID First Name Last Name Other Columns....................................
634565491 MARINA BALDERAZ
640484566 TERE BALDERAZ


CURRENT SQL AND RESULTS....

SELECT ClassRosterRecID, StudentDataRecID, StudentDataKey, StudentID, FirstName, LastName, CurrentGrade, Gender, Ethnicity, EconDisadvantaged, TitleI, Migrant, LEP, Bilingual, ESL, SpecialEducation, GiftedTalented, AtRisk, CareerTech, Dyslexia, LastName + ', ' + FirstName AS LastNameFirstName, EconDisadvantagedSort, TitleISort, MigrantSort, LEPSort, BilingualSort, ESLSort, SpecialEducationSort, GiftedTalentedSort, AtRiskSort, CareerTechSort, DyslexiaSort, DistrictID, CampusID FROM vClassDemographicsDetail WHERE (DistrictID = '057910') AND (CampusID = '057910101') AND (LastName LIKE '%BALDERAZ%')

StudentID First Name Last Name Other Columns....................................
634565491 MARINA BALDERAZ
634565491 MARINA BALDERAZ
634565491 MARINA BALDERAZ
640484566 TERE BALDERAZ
640484566 TERE BALDERAZ
640484566 TERE BALDERAZ

craigbtx:

How do I get unique rows based on studentID? Distinct and group by don't seem to work

GROUP BY should work, just remember to add some aggregation function on the columns not in the GROUP BY list. Try something like:

SELECT max(ClassRosterRecID), max(StudentDataRecID), max(StudentDataKey), StudentID, FirstName,
LastName, max(CurrentGrade), max(Gender), max(Ethnicity), max(EconDisadvantaged), max(TitleI), max(Migrant), max(LEP), max(Bilingual), max(ESL), max(SpecialEducation), max(GiftedTalented), max(AtRisk), max(CareerTech), max(Dyslexia), LastName + ', ' + FirstName AS LastNameFirstName, max(EconDisadvantagedSort), max(TitleISort), max(MigrantSort), max(LEPSort), max(BilingualSort), max(ESLSort), max(SpecialEducationSort), max(GiftedTalentedSort), max(AtRiskSort), max(CareerTechSort), max(DyslexiaSort), max(DistrictID), max(CampusID )
FROM vClassDemographicsDetail
WHERE (DistrictID = '057910') AND (CampusID = '057910101') AND (LastName LIKE '%BALDERAZ%')
GROUP BY StudentID, [FirstName],[LastName]

No comments:

Post a Comment