由重复项标识并在其中删除的Sql查询
查询返回Product\u id列和Date列,但Product\u id列包含重复项,因此我希望根据最近日期添加的日期删除Product\u id中的重复项。任何人都可以给出答案。尝试按Product\u id分组。下面的查询将选择重复Product\u id的最新日期由重复项标识并在其中删除的Sql查询,sql,Sql,查询返回Product\u id列和Date列,但Product\u id列包含重复项,因此我希望根据最近日期添加的日期删除Product\u id中的重复项。任何人都可以给出答案。尝试按Product\u id分组。下面的查询将选择重复Product\u id的最新日期 SELECT i.product_id, o.date_added FROM ims_order_product i INNER JOIN ims_order o WHERE i.product_id IN (S
SELECT i.product_id, o.date_added
FROM ims_order_product i
INNER JOIN ims_order o
WHERE i.product_id IN (SELECT p.product_Id FROM ims_product p)
请尝试此查询
SELECT i.product_id, MAX(o.date_added) FROM ims_order_product i INNER JOIN ims_order o WHERE i.product_id IN (SELECT p.product_Id FROM ims_product p) GROUP BY i.product_id
从中选择*(从ims\u order\u product
i中选择i.product\u id、o.date\u added、o.order\u id
加入ims\u order
o ON o.order\u id=i.order\u id
加入
ims\u product
pr.product\u id=i.product\u id ORDER BY date\u added DESC)作为子组BY product\u id添加样本数据和预期输出您使用的是什么?“SQL”只是一种查询语言,而不是特定数据库产品的名称。请为您正在使用的数据库产品添加标记,postgresql
,oracle
,sql server
,db2
,…查询无效,缺少连接条件,但运行所有日期的查询都相同,由于该列由max date占据,因此我们必须根据产品ID在日期上操作,因此最后有一个group by
子句。因此,“最大日期”将给出每个产品id的最大日期,如果您对不同的产品id有不同的“最大日期”,则所有日期将不相同。No group by applied by last first他们已根据“最大日期”将所有产品id设置为相同的日期,因此我们通过上述查询解决了此问题
SELECT i.product_id, o.date_added
FROM ims_order_product i
INNER JOIN ims_order o
WHERE i.product_id IN (SELECT p.product_Id FROM ims_product p)