對不起,因爲它不是非常definientia。我有2個表,一個商店的人的數據和一個儲存主題數據與感興趣的人一起。兩個表看起來像下面讓人對更多主題感興趣 - Sql Server
人
Id Name
1 Imad
2 Sumeet
3 Suresh
4 Navin
主題
Id PId Subject
1 1 DC
2 1 DS
3 3 DS
4 4 CA
PId是一個人的身份證
我需要讓所有感興趣的學生最大受試者數量,例如Imad在這裏。
這裏是我的查詢
With c as
(
select Pid, count(Id) as 'Total' from subjects group by Pid
)
select Pid into #Temp from c where Total = (Select Max(Total) from c)
select * from Person where Id in (Select Pid from #Temp)
它給了我想要的輸出,但每當這種類型的問題是問在採訪中,我從來沒有得到面試官良好的反應,因爲他們總是期待更好的解決方案。我對我的SQL技能沒有信心,這就是爲什麼我認爲必須有更高效的解決方案,因此我在這裏發佈了它。 感謝
研究你的SQL。您不需要像這樣的查詢的臨時表。 –
我同意,但不知道其他方式。 – Imad
Tid?學科 ?那些是不存在的對象 –