在 MySql DB 我有
CustomerId productId modelNumber
CAnWgsN0 C9407R 300
CAnWgsN0 C5861W 300
CAnWgsN0 C9407R 400
CAnWgsN0 C5861W 600
CAnWgsN0 C9407R 300
KAuK9nB K3150Z 100
KAuK9nB6 K3150Z 100
我希望我的输出为
customerId productId modelNumber Count
CAnWgsN0 C9407R 300 2
CAnWgsN0 C9407R 400 1
CAnWgsN0 C5861W 300 1
CAnWgsN0 C5861W 600 1
KAuK9nB6 K3150Z 100 2
我正在尝试使用此查询,但没有得到想要的结果。如何在modelNumber上应用 distinct然后按productId分组。
SELECT *
FROM (SELECT customerId, productId, COUNT(modelNumber) As count,
ROW_NUMBER() OVER (PARTITION BY modelNumber ORDER BY productId) AS RowNumber
FROM customers) AS a
WHERE a.RowNumber <=100 ;
它只返回一行。我也尝试过这个查询,但没有运气
SELECT productId, customerId, modelNumber, COUNT(modelNumber) AS count
FROM customers
WHERE modelNumber IN (SELECT DISTINCT modelNumber from customer ORDER BY productId);