【发布时间】:2022-11-01 21:59:05
【问题描述】:
我有一张包含以下数据的表格。
id country serial other_column
1 us 123 1
2 us 456 1
3 gb 123 1
4 gb 456 1
5 jp 777 1
6 jp 888 1
7 us 123 2
8 us 456 3
9 gb 456 4
10 us 123 1
11 us 123 1
有没有办法为每个唯一的国家和唯一的序列获取 2 行?
例如,期望从我的查询中得到以下结果。
us,123,1 来了两次,因为有 3 个相同类型,我想要每个唯一国家和唯一序列 2 行。
us,123,1
us,123,1
us,456,1
gb,123,1
gb,456,1
jp,777,1
jp,888,1
我不能使用:
select distinct country, serial from my_table;
因为我想要国家和序列的每个不同值匹配 2 行。请建议。
【问题讨论】:
-
您使用什么标准来表示“每个唯一国家/地区和唯一序列 2 行”? ID #?序列号#ASC/DESC?等等如果有超过2个怎么办?什么留下,什么去?
-
@GRIV 可以是 ASC/DESC,没关系。如果 locale + serial 像我们 + 123 一样出现一次,这是独一无二的。我想捕获两次这种情况。所以应该打印我们,123 两次。 (我想捕获整行而不仅仅是这两个值)
-
我仍然有点困惑,回到我上面的评论: ID #7 with us/123/2 is not shown but ID #1 with us/123/1 is shown?为什么值为 1 的“other_column”返回与 2?您的订购必须有一些逻辑。
-
如果你有我们, 123, 1 和我们 123, 1 和我们, 123, 2 你想要哪一个?什么是逻辑
-
@trillion us, 123, 1 和我们, 123, 1 很好。还有很多列。因此最终会得到我们,123,1,a,b,c 和 us,123,1,d,e,f 这就是我想要的。每个唯一国家/地区 + 系列 2 行。