连接两个连续行的值 SQL
Concatenate values of two consecutive rows SQL
我想编写一个 SQL 查询来连接 2 个连续行的行值,如下所述:
我有以下 table:
No. ProductName pSerial_No
1 Item1 a12
2 Item2 b12
3 Item3 c12
我想要另一列如下:
No. ProductName pSerial_No ConcatValue
1 Item1 a12
2 Item2 b12 b12a12
3 Item3 c12 c12b12
concat 值是第 2 行中的 serial_no 值与第 1 行中的 serial_no 值、第 3 行中的 serial_no 值与 serial_no 值的串联是第 2 行,依此类推。由于第 1 行上面没有行,因此该值保持不变。
我怎样才能做到这一点?
假设 SerialNo
定义了你的订单,那么你可以使用 LAG()
从上一行中获取值:
SELECT ProductName,
Serial_No,
CONCAT(Serial_No, LAG(Serial_No) OVER(ORDER BY Serial_No)) AS ConcatValue
FROM YourTable;
如果Serial_No
没有定义您的订单,那么您可以根据需要修改订单。
我想编写一个 SQL 查询来连接 2 个连续行的行值,如下所述:
我有以下 table:
No. ProductName pSerial_No
1 Item1 a12
2 Item2 b12
3 Item3 c12
我想要另一列如下:
No. ProductName pSerial_No ConcatValue
1 Item1 a12
2 Item2 b12 b12a12
3 Item3 c12 c12b12
concat 值是第 2 行中的 serial_no 值与第 1 行中的 serial_no 值、第 3 行中的 serial_no 值与 serial_no 值的串联是第 2 行,依此类推。由于第 1 行上面没有行,因此该值保持不变。
我怎样才能做到这一点?
假设 SerialNo
定义了你的订单,那么你可以使用 LAG()
从上一行中获取值:
SELECT ProductName,
Serial_No,
CONCAT(Serial_No, LAG(Serial_No) OVER(ORDER BY Serial_No)) AS ConcatValue
FROM YourTable;
如果Serial_No
没有定义您的订单,那么您可以根据需要修改订单。