0

我需要在 MySQL 中执行一个查询,该查询返回 product_id 的不同值,但我还需要选择并返回该特定表中的“id”字段。

此查询将返回没有 id 的不同 product_id:

SELECT DISTINCT product_id FROM orders_cart

此查询将在两个字段上使用 distinct,我想在 product_id 上使用它并查看 id

SELECT DISTINCT id, product_id FROM orders_cart

在 pgsql 上很容易做到,但我不知道如何在 mysql 上做到这一点。

4

2 回答 2

1

您的查询没有明确定义:考虑这个表

id   product_id
1     1
2     2
3     1
4     2

你的查询结果应该是什么?如果你的意思是

id        product_id
1 or 3     1
2 or 4     2

您处于非确定性查询的领域。

你能做的是

SELECT MIN(id), product_id FROM orders_cart GROUP BY product_id

这将确定性地产生

id   product_id
1     1
2     2
于 2012-11-01T18:59:13.177 回答
0

这就是我的最终代码:这个问题最重要的部分是第 1,2 和 4 行 :) GROUP BY 成功了 :)

SELECT orders_cart.id, product_id, order_id 
FROM orders_cart 
LEFT JOIN orders_order ON orders_cart.order_id=orders_order.id
WHERE orders_order.status='Wysłano'
GROUP BY orders_cart.product_id
于 2012-11-01T19:17:41.503 回答