TABLEA
JobCode Job1 Job2 Job3 zip
------- ---- ---- ---- ----------
F F S NULL 90030
F F S NULL 90031
F F S NULL 90031
F F S NULL 90034
F F NULL 90034
F F S NULL 90034
F F S NULL 90034
F F NULL 90034
F F S NULL 90035
F F NULL 90035-4640
EXPECTED RESULTS:
JobCode Job1 Job2 Job3 zip
------- ---- ---- ---- ----------
F F S NULL 90034
F F NULL 90034
F F S NULL 90034
F F S NULL 90034
F F NULL 90034
F F S NULL 90031
F F S NULL 90031
F F S NULL 90030
F F S NULL 90035
F F NULL 90035-4640
Those with the SAME Zip should be ON top, then the rest follows. ORDER BY Zip does not work because it DOES sort by ZIP, and NOT by number of occurence
Using SQL Server 08
To accomplish this, you should join against a subquery which returns the count per zipcode. The joined subquery is only needed to provide the counts (even if not displayed), while the main table
yourtable
provides all the rest of the columns.SQL Server 2008 using
COUNT() OVER
If you don't need to see the additional column, then you can move the
COUNT() OVER
clause into the ORDER BY clause.