2009-10-23 59 views
0

我正在處理資產數據庫的一對多查詢。下面是一些示例數據SQL查詢:列出服務器的最常見用戶

Server Name  Application  Primary_User 
Server1   SQL    DBA 
Server1   Citrix    IT 
Server1   Oracle    DBA 
Server2   Sharepoint   Web 
Server3   SQL    DBA 
Server3   Sharepoint   Web 
Server3   Norton    Security 
Server3   IDS    Security 

所需的輸出是每個服務器一行與服務器名稱,應用的計數,並在出現的大部分的主要用戶(不只是第一個,最後,最小值,或最大值) 。

它看起來像這樣

Server Name Applications Primary_User 
Server1   3  DBA 
Server2   1  Web 
Server3   4  Security 

有一個查詢或子查詢,可以做到這一點?
請注意,此查詢將不得不在Excel中執行。

在此先感謝!

+0

Excel是目標應用程序還是另一個應用程序的數據源? – 2009-10-23 16:36:23

+0

@安迪:你的團隊條件沒有意義。在Server1中只有2個DBA,而Server3有4個應用程序,但只有1個primary_user – Sung 2009-10-23 17:09:25

回答

-1

在T-SQL(MS SQL服務器):

SELECT [Server Name], Count(*) AS Applications, Primary_User 
FROM WHATEVER_THE_TABLE_IS_CALLED 
GROUP BY [Server Name], Primary_User 

我不知道你會使用什麼SQL的特定方言,你可能需要以不同的方式引用的名字。

+0

行,所以我剛纔意識到你說過這是要在excel中執行的......通過什麼機制?你在Excel中使用ODBC數據源嗎? – Tao 2009-10-23 16:28:23