有一个查询,如查客户ID,客户姓名,客户地址.... ,客户类型,
现在需要按相同客户类型的多少来排序,就是同一种客户类型数量少的排在前面,多的排在后面,
比如:客户类型有会员、普通客户、潜在客户,按照条件查出来的记录中,会员有10个,普通客户有15个,潜在客户有20个,
那么是会员的客户要排在前面,普通客户排在中间,潜在客户排在最后。
能不能用一个SQL实现???请SQL高手指教,数据库是ORACLE
现在需要按相同客户类型的多少来排序,就是同一种客户类型数量少的排在前面,多的排在后面,
比如:客户类型有会员、普通客户、潜在客户,按照条件查出来的记录中,会员有10个,普通客户有15个,潜在客户有20个,
那么是会员的客户要排在前面,普通客户排在中间,潜在客户排在最后。
能不能用一个SQL实现???请SQL高手指教,数据库是ORACLE
from tb a,
(select 客户类型,count(*) count from tb group by 客户类型)b
where a.客户类型=b.客户类型
order by b.count
count(1) over(partition by 客户类型) rn
from t
order by rn