gpt4 book ai didi

mysql - 为 MySQL 表中的每个重复项返回唯一行

转载 作者:行者123 更新时间:2023-11-29 02:30:53 25 4
gpt4 key购买 nike

我是 MySQL 的新手,我不确定如何执行此操作或者是否可行。

我有一个这样的表:

Table products
id | model | alt_model
-- ----- ---------
1 abc abc
2 ab-c abc
3 a-bc abc
4 def def
5 ghi ghi
6 gh-i ghi
7 jk-l jkl
8 mno mno
9 m-n-o mno
10 mn-o mno
11 m-no mno
12 pqr pqr
13 stu stu

我希望能够执行一个查询,该查询将导致 alt_models 相同的每个重复产品组合。每对重复项都是唯一的,切换它们的顺序不应产生另一个结果,但结果应在 id1 字段中具有较低的 id

结果应该是这样的:

id1  |  id2   |  model1  |  model2
--- --- ------ ------
1 2 abc ab-c
1 3 abc a-bc
2 3 ab-c a-bc
5 6 ghi gh-i
8 9 mno m-n-o
8 10 mno mn-o
8 11 mno m-no
9 10 m-n-o mn-o
9 11 m-n-o m-no
10 11 mn-o m-no

这可能吗?

最佳答案

一个简单的自连接就可以做到;

SELECT a.id id1, b.id id2, a.model model1, b.model model2
FROM products a
JOIN products b
ON a.alt_model=b.alt_model -- alt_model must match
AND a.id < b.id -- and id1 is smaller
ORDER BY id1,id2;

SQLfiddle for testing here .

关于mysql - 为 MySQL 表中的每个重复项返回唯一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13388210/

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