gpt4 book ai didi

mysql - 如何将具有相同值的行组合为一组?

转载 作者:行者123 更新时间:2023-11-29 13:44:50 25 4
gpt4 key购买 nike

我有一个表,其结构有点像这样:

date    name    marks
x a 4
y a 2
x b 2
y b 7
x c 8
y c 6
x d 9
y d 6

我想执行所有行的组合,但是,在执行组合时应将相同的名称视为一个。输出必须类似于:

date    name    marks   x.date  x.name  x.marks
x a 4 x b 2 # a & b
y a 2 y b 7
x a 4 x c 8 # a & c
y a 2 y c 6
x a 4 x d 9 # a & d
y a 2 y d 6
x b 2 x d 9 # b & c
y b 7 y d 6
x b 2 x c 8 # b & d
y b 7 y c 6
x c 8 x d 9 # c & d
y c 6 y d 6

我已经厌倦了各种IDE,如交叉连接、分组等,但都是徒劳的。有什么帮助吗?

最佳答案

Select a.date adate, a.name aname, a.marks amark, 
x.date xdate, x.name xname, x.marks xmarks
FROM A a, a x
where A.name < x.Name and a.date = x.date
order by aname, xname, adate, xdate

这是一个工作演示的 fiddle 。 http://sqlfiddle.com/#!2/105f0/19/0

但是将来会展示你的作品。发布您尝试过的查询,以便人们可以为您指明正确的方向。

这里的技巧有两点:你希望 A.name 小于 x.name,但前提是 a.date 和 x.dates 匹配。因此需要交叉连接,但您不想简单地使用 <> 或 =

关于mysql - 如何将具有相同值的行组合为一组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17581003/

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