我有一张这样的表:
Ordernumber | ProductID
1 | 49
2 | 49
3 | 1
4 | 49
5 | 7
6 | 680
7 | 7
8 | 49
我需要像下面这样订购,首先要显示具有大部分单一ProductID的订单号:
Ordernumber | ProductID
1 | 49
2 | 49
4 | 49
8 | 49
5 | 7
7 | 7
3 | 1
6 | 680
希望我解释得足够好。你是怎么做到的?
答案 0 :(得分:1)
您可以使用自联接,通过计算每个产品的计数和计数列的订单结果
select t.* from t
join
(
select count(*) count , ProductID
from t
group by ProductID
) t2
on(t.ProductID = t2.ProductID)
order by t2.count desc, t.productid,t.ordernumber