1

我有 1 个表格“产品”,如下所示:

ID 产品店铺颜色
01车A黑色
02车B黑色
03自行车C红色
04 A面银
05车C黑
06 自行车 A 红色

在此示例中,产品始终具有相同的颜色,独立于销售它的商店。我想使用 Color 属性进行查询,返回一组不同的产品。我还需要一个 ID,可以是任何 ID,以便我进行后续查询。

查询的结果应该是:

ID 产品颜色
01车黑
03 自行车红
04平面银

我试过:

SELECT DISTINCT 
  Product, Color 
FROM 
  Products

但这显然也不会返回 ID

我想我需要加入一些东西,但是我的 SQL 知识太差了。我希望这很简单。

4

3 回答 3

8

这将是获得所需结果的一种方法:

SELECT min(ID), Product, Color FROM table GROUP BY Product, Color;
于 2009-04-21T13:07:37.100 回答
3

怎么样

SELECT 
   Product, Color, Min(ID)
FROM 
   TABLE
GROUP BY
   Product, Colour

这将返回唯一的产品/颜色组合和找到的第一个(最低)ID。

于 2009-04-21T13:07:46.010 回答
0

您需要使用GROUP BY子句。

相同但获得最大 ID:

SELECT MAX(ID) AS ID, Product, Color
FROM Products
GROUP BY Product, Color
ORDER BY ID
于 2009-04-21T13:18:20.133 回答