gpt4 book ai didi

sql - GROUP 列的组合,而不是排列

转载 作者:行者123 更新时间:2023-12-04 18:51:25 29 4
gpt4 key购买 nike

在我一直在研究的网站上,允许用户将数据提交到表格中,当他们提交数据时,他们会被要求提供合作伙伴名称,因为有两个人负责获取数据。我正在尝试创建一个高分表,列出顶级合作伙伴,也就是最常出现在表格上的合作伙伴和提交者的组合(不是排列)。

GROUP 命令对此非常有用,但我在组合/排列问题上遇到了一些障碍。目前,当我将它们分组时,它只检查提交者和合作伙伴的排列,而不是组合。问题是,合作伙伴经常选择在一个人作为提交者和另一个人作为合作伙伴之间交替,所以我实际上有两种可能的 GROUP 排列可供我拉取。

目前我有代码可以拉出一个提交者和合作伙伴排列的高分表,以及另一个合作伙伴和提交者排列的高分表。当partner=submitter 或submitter=partner 时,我需要加入这些结果(可能是未分组和未排序的),然后将它们分组并按降序排序。

SELECT submitter, partner, COUNT(*) FROM submissions GROUP BY submitter, partner;

上面的代码会返回提交者和合作伙伴具体排列的计数表,但如果相同的两个人是合作伙伴和提交者,只是切换,他们不计为同一组。

有谁知道这个代码吗?

最佳答案

不是最漂亮的解决方案,但它确实为您提供了您想要的答案:

SELECT Person1, Person2, COUNT(*) FROM (
SELECT
CASE WHEN submitter < partner THEN submitter ELSE partner END AS Person1,
CASE WHEN submitter >= partner THEN submitter ELSE partner END AS Person2
FROM submissions
) Q
GROUP BY Person1, Person2

关于sql - GROUP 列的组合,而不是排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5673036/

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