组功能在 SQL Server 上不起作用

Ama*_*aur 2 sql sql-server group-by

我使用下面的查询,但它显示了一些重复的项目。所以我使用了该group功能,但它不起作用。

SELECT p.productId, p.productName, p.catId, p.subCatId, p.productType,
       p.modelNo, p.picUrl, p.color, p.theme, p.productPrice, p.discountedPrice,
       p.quantity, p.details, p.mainPageDisplay, p.productPageDisplay,
       s.subCatId AS Expr1,
       s.subCatName, s.catId AS Expr2,
       s.rank, s.subCatName AS Expr3
FROM (products p INNER JOIN
      subCategories s ON p.catId = s.catId)
WHERE (p.color = 'red') group By p.productName
Run Code Online (Sandbox Code Playgroud)

这个查询工作正常,但是当我添加group by时它不起作用。

Cyr*_*don 5

您不需要GROUP BY选择不同的行,您需要DISTINCT:

SELECT DISTINCT p.productId, p.productName, p.catId, p.subCatId, p.productType,
       p.modelNo, p.picUrl, p.color, p.theme, p.productPrice, p.discountedPrice,
       p.quantity, p.details, p.mainPageDisplay, p.productPageDisplay,
       s.subCatId AS Expr1,
       s.subCatName, s.catId AS Expr2,
       s.rank, s.subCatName AS Expr3
FROM (products p INNER JOIN
      subCategories s ON p.catId = s.catId)
WHERE (p.color = 'red')
Run Code Online (Sandbox Code Playgroud)