gpt4 book ai didi

Mysql不同行2列

转载 作者:行者123 更新时间:2023-11-30 21:41:52 25 4
gpt4 key购买 nike

我有一个问题:

SELECT p.productid, p.dupproductid
FROM products p, categories c
WHERE c.catid = p.catid && (c.parent IN(2257) || p.catid = 2257)
GROUP BY p.productid

返回:

productid dupproductid
23423 0
54345 0
34234 33333
23423 33333
45345 0
34324 11111
46546 0

我只想获得除 0 之外的唯一 dupproductid,所以我不能使用 GROUP BY

我希望它回来

productid dupproductid
23423 0
54345 0
34234 33333
45345 0
34324 11111
46546 0

最佳答案

如果你想删除最小 ID 那么这对你有用 -

SELECT p.productid, p.dupproductid
FROM (SELECT p.productid
,p.dupproductid
,ROW_NUMBER() OVER(PARTITION BY dupproductid ORDER BY productid DESC) as RN
FROM products p, categories c
WHERE c.catid = p.catid && (c.parent IN(2257) || p.catid = 2257)
) T
WHERE T.productid = 0
OR RN = 1

为您准备的 Sql Fiddle - http://www.sqlfiddle.com/#!18/db18b/2

关于Mysql不同行2列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51174609/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com