这让我很沮丧。我有以下基本表结构:
+-----+-----+-----+
| YEAR| ID1 | ID2 |
+-----+-----+-----+
| 2012| 103 | 105 |
| 2012| 110 | 114 |
| 2013| 103 | 110 |
| 2013| 114 | 120 |
| 2014| 122 | 103 |
+-----+-----+-----+
我需要的是列ID1和ID2的不同值列表,按列YEAR按结果分组。为了增加趣味,必须按每个不同的值显示最低的YEAR。结果表应如下所示:
+-----+-----+
| Year| ID |
+-----+-----+
| 2012| 103 |
| 2012| 105 |
| 2012| 110 |
| 2012| 114 |
| 2013| 120 |
| 2014| 122 |
+-----+-----+
非常感谢任何帮助!
答案 0 :(得分:3)
使用union all
建立关系(year, id
)并将min(year)
应用于该关系group by
id
:
select min(year) min_year, id
from (
select year, id1 id from your_table
union all
select year, id2 id from your_table
) x
group by id