簡體   English   中英

如何僅返回 1 列的第二行記錄

[英]how to return 2nd row record for only 1 column

我從表中選擇多列,我需要從第二行獲取記錄的列之一。 我應該如何在我的查詢中指定只有那 1 列需要從第 2 行獲取? select 語句返回 2 行,但是段 4 我只需要返回第 2 行值,其他列返回第 1 行的值。我應該怎么寫?

select  substrb(segment2,1,30) invtime
 ,  substrb(segment3,1,30) invoice
 ,  substrb(segment4,1,10) invdate
from error_process_log;

在這種情況下,您可以使用諸如 Lead() Lag() 之類的分析函數。 希望下面的插圖有幫助。

SELECT SUBSTR(a.nm,1,10),
  SUBSTR(lead(a.sn) over(order by a.sn ),1,5)
FROM
  (SELECT 1 AS seq,'avrajit' nm,'Roy1' sn FROM dual
  UNION ALL
  SELECT 2 AS seq,'shubho' nm,'Roy2' sn FROM dual
  UNION ALL
  SELECT 3 AS seq,'papa' nm,'Roy3' sn FROM dual
  UNION ALL
  SELECT 3 AS seq,'romi' nm,'Roy4' sn FROM dual
  )a;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM