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
预期成绩:
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
那些具有相同邮政编码的应该位于顶部,然后是其余的。
ORDER BY Zip 不起作用,因为它按 ZIP 排序,而不是按出现次数排序
使用 SQL Server 08
SQL Server 2008 使用COUNT() OVER
select *, c = count(1) over (partition by zip)
from tbl
order by c desc;
如果您不需要看到附加列,那么您可以移动COUNT() OVER
子句插入 ORDER BY 子句。
select JobCode, Job1, Job2, Job3, zip
from tbl
order by count(1) over (partition by zip) desc;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)