由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
DataSciences版 - 问个SQL的问题
进入DataSciences版参与讨论
1 (共1页)
D**H
发帖数: 1
1
数据:
ID # dt comment
1 01/01/2022 aaa
2 01/02/2022 bbb
3 01/03/2022 ccc
需要做成
ID # dt comment prev_dt pre_comment
1 01/01/2022 aaa
2 01/02/2022 bbb 01/01/2022 aaa
3 01/03/2022 ccc 01/02/2022 bbb 01/01/2022 aaa
需要把所有合并成一个column。有什么好方法么?
y****w
发帖数: 3747
2
1. lag google一下
2. join self on ID if ID 连续。 如果不连续,用row_number编号后再连接。
R**********6
发帖数: 4
3
不允许发 t-SQL, 只好说明一下如何作:
1. 假设 table is #data, #data cur left join #data pre on cur.id > pre.id,
result was saved to another temp table or CTE; rename the column properly
since they were duplicated;
2. use STUFF function and FOR XML PATH to convert multiple rows into one
column, this is the reference
https://www.mssqltips.com/sqlservertip/2914/rolling-up-multiple-rows-into-a-
single-row-and-column-for-sql-server-data/
good luck
t*****w
发帖数: 254
4
Use two loops and redefine Id.
1, i from 1 to maximal row.
2, j from i to maximal row.
3, new id = j.

【在 D**H 的大作中提到】
: 数据:
: ID # dt comment
: 1 01/01/2022 aaa
: 2 01/02/2022 bbb
: 3 01/03/2022 ccc
: 需要做成
: ID # dt comment prev_dt pre_comment
: 1 01/01/2022 aaa
: 2 01/02/2022 bbb 01/01/2022 aaa
: 3 01/03/2022 ccc 01/02/2022 bbb 01/01/2022 aaa

1 (共1页)
进入DataSciences版参与讨论