gpt4 book ai didi

sql - 如何使用组concat获取“其他”重复值?

转载 作者:行者123 更新时间:2023-12-03 19:49:04 25 4
gpt4 key购买 nike

希望标题有意义!

给定具有这些值的表MyTable

   ID   TheValue
A 1
B 2
C 3
D 1
E 1
F 2


我可以用

SELECT 
TheValue,
group_concat(concat) AS TheIDs
FROM (
SELECT distinct
TheValue,
ID AS concat
FROM MyTable)
GROUP BY TheValue


要得到

TheValue   TheIDs  
1 A,B,D
2 B,F
3 C


我该如何获取ID,TheValue和“其他” ID的结果,而不包括该行的ID?

例如

   ID     TheValue   OtherIDs
A 1 D,E
B 2 F
C 3 <null> (or empty string, I don't mind)
D 1 A,E
E 1 A,D
F 2 B


(如果答案是方言专用的,我使用的是SQLite)

最佳答案

我认为您需要进行自我加入:

SELECT  T.ID,
T.TheValue,
GROUP_CONCAT(T2.ID) AS TheIds
FROM T
LEFT JOIN T T2
ON T2.TheValue = T.TheValue
AND T2.ID != T.ID
GROUP BY T.ID, T.TheValue;


Example on SQL Fiddle

关于sql - 如何使用组concat获取“其他”重复值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19114994/

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