SQL如果按顺序重复,则只选择1个产品ID

时间:2017-05-24 20:42:45

标签: sql

我正在考虑如何编写这个sql:

SELECT o.orders_id, o.customers_name, o.customers_email_address, o.orders_status, op.products_id, op.products_model
FROM orders o, orders_products op
WHERE o.orders_id = op.orders_id and o.orders_status='3'

我想要完成的是我需要每个用户订单中的product_id列表。但是,许多用户以相同的顺序两次订购相同的产品。所以我需要做的是说它是否与那里的order_id相同,并且该订单中有重复的product_id只显示product_id一次。我不确定该怎么做..

2 个答案:

答案 0 :(得分:0)

只需像这样添加DISTINCT ......

SELECT DISTINCT o.orders_id, o.customers_name, o.customers_email_address, o.orders_status, op.products_id, op.products_model
FROM orders o, orders_products op
WHERE o.orders_id = op.orders_id and o.orders_status='3'

但是,只拥有一次产品并拥有数量列不是更好吗?

诺尔

答案 1 :(得分:0)

如果您只是获得重复项,您可以添加GROUP BY o.orders_id,o.customers_name,o.customers_email_address,o.orders_status,op.products_id,op.products_model

或者你可以选择DISTINCT op.products_id