我想查询包含每个事务中不同的articleID的数据的数据库表:
TransactionID TransactPos ArticleID
1 1 Article A
1 2 Article B
2 1 Article A
2 2 Article B
3 1 Article A
3 2 Article C
3 3 Article D
3 4 Article E <---
3 5 Article E <---
3 6 Article E <---
3 7 Article F
4 1 Article A <---
4 2 Article A <---
4 3 Article C
我想要的结果只是每个交易的不同值
因此,期望的结果将如下所示:
TransactionID TransactPos ArticleID
1 1 Article A
1 2 Article B
2 1 Article A
2 2 Article B
3 1 Article A
3 2 Article C
3 3 Article D
3 4/5/6 Article E <--- Distinct value for Transaction 3
3 7 Article F
4 1/2 Article A <--- Distinct value for Transaction 4
4 3 Article C
有人有想法吗?我尝试过不同的分组,但到目前为止我没有运气。
答案 0 :(得分:2)
鉴于数据与这3列不同,如果你想获得你提到的输出。尝试以下查询以获得相同的
select TransactionID , string_agg(TransactPos, '/') as TransactPos, ArticleID from yourtable
group by TransactionID,ArticleID