我需要在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上做这个。
答案 0 :(得分: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
答案 1 :(得分: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