簡體   English   中英

Select 少數列的不同值和少數列的多個值

[英]Select distinct values of few columns and multiple values of few columns

我必須 select 幾個列的不同值沿着同一個表的幾個列的多個值。 我的桌子是這樣的

在此處輸入圖像描述

像這樣顯示此表時,我想 select 列的 first_name 和 last_name 列的不同值以及主題 cloumn 的所有值

在此處輸入圖像描述

是否可以顯示名字和姓氏的不同值?

Select DISTINCT `first_name` , `last_name` from table1

我已經嘗試使用 partition by 子句來處理給定的場景。 請檢查下面的示例代碼片段。 有用。

CREATE TABLE #Student                                                                  
(                                                                             
     first_name VARCHAR(100),                                                  
     last_name VARCHAR(100),                                                   
     [subject] VARCHAR(100)                                                            
)

INSERT INTO #Student (first_name, last_name, [subject]) VALUES ('a','b','maths')  
INSERT INTO #Student (first_name, last_name, [subject]) VALUES ('a','b','science')
INSERT INTO #Student (first_name, last_name, [subject]) VALUES ('e','f','bio')
INSERT INTO #Student (first_name, last_name, [subject]) VALUES ('e','f','eng')


SELECT CASE WHEN reportTbl.RowNo = 1 THEN first_name ELSE '' END as first_name,   
CASE WHEN reportTbl.RowNo = 1 THEN last_name ELSE '' END as last_name, 
[Subject]  FROM 
(
     SELECT first_name, last_name, [Subject],
     ROW_NUMBER() OVER (PARTITION BY first_name, last_name  ORDER BY subject) RowNo 
     FROM #Student
) 
reportTbl

使用 partition by 子句添加 RowNo 列后的實際表

在此處輸入圖像描述

下面是查詢的最終output

在此處輸入圖像描述

暫無
暫無

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

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