0

product_idに個別の値を返すクエリをMySQLで実行する必要がありますが、その特定のテーブルにある'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行目でした:)GROUPBYがトリックを行いました:)

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 に答える