组功能在 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)