繁体   English   中英

如何在另一个表中选择具有相同值的SQL表中的第一行和第二行实例?

[英]How to select 1st and 2nd row instance in SQL table having the same value in another table?

样本数据:

在此处输入图片说明

输出应为:

输出数据

我想问一下我可以运行哪种MSSQL脚本来获得这种输出。 希望有人能帮到我,我对SQL编程还是很陌生。 提前非常感谢您。

使用带有row_number()的CTE:

with CTE as
(
select T1.*, row_number() over(partition by USERNAME order by TRANSACTION_TIME) X_ORD
from Table1 T1
)

select distinct 
       A1.USERNAME,
       A1.REGISTRATION_DATE, 
       A2.Transaction_Time as First_X, 
       A2.RELOAD_AMOUNT as First_R, 
       A2.CHANNEL as First_C, 
       A3.Transaction_Time as Second_X, 
       A3.RELOAD_AMOUNT as Second_R, 
       A3.CHANNEL as Second_C
from CTE A1
left join CTE A2
  on A1.USERNAME = A2.USERNAME
  and A2.X_ORD = 1
left join CTE A3
  on A1.USERNAME = A3.USERNAME
  and A3.X_ORD = 2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM