【发布时间】:2022-01-09 05:03:49
【问题描述】:
在 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);
【问题讨论】:
标签: mysql sql-order-by mysql-workbench distinct inner-query