簡體   English   中英

SQL選擇特定列的行的第一個記錄

[英]SQL select first records of rows for specific column

我意識到我的頭銜可能並不能很好地解釋我的情況,但老實說我真的不知道如何說出來。

我正在使用SQL來訪問DB2數據庫。

使用下面的截圖圖片1作為參考:

第1列有三個“U11124”實例,有三種不同的描述(第2列)

我希望這個查詢返回“U11124”的第一個實例及其描述,但隨后也返回其他行的唯一記錄。 2顯示了我想要的結果。

圖片1

此搜索

圖片2

圖像2

-----編輯----

回答一些問題/帖子:從技術上講,它不需要是第一個,只需要那些記錄中的任何一個。 問題是我們有三個描述,只需要顯示一個,我現在被告知哪一個並不重要。

SELECT STVNST, MAX(STDESC) FROM MY_TABLE GROUP BY STVNST;

在SQL Server中:

select stvnst, stdesc
from (
  select     
     stvnst, stdesc
     row_number() over (order by stdesc partition by stvnst) row
  from table
) a
where row = 1

此方法優於簡單組,因為當表中有兩列以上時,它也可以工作。

SELECT STVNST,FIRST(STDESC) from table group by STVNST ORDER BY table_ SELECT STVNST,FIRST(STDESC) from table group by STVNST what_you_want_first

您需要做的就是使用GROUP BY。

你說你想要STDESC列的第一個實例嗎? 那么你不能保證沒有其他列的行的順序,但是如果你想按最高有序值排序,下面就足夠了:

SELECT STVNST, MAX(STDESC) FROM MY_TABLE GROUP BY STVNST;

暫無
暫無

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

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