2013-10-25 83 views
-4

這是我的表結構如何找到最大的候選人招募一年在SQL

Id Date  Candidates 
1 2013-04-07 16 
2 2013-04-27 12 
3 2013-10-22 13 
4 2013-10-08 1 
5 2013-10-24 9 
6 2012-07-11 14 
7 2012-07-14 5 

我想尋找招募候選人的最大數量的動態查詢。我希望根據每年明智和明智的日期明智的最多候選人數得出結果。如何在sql中爲此條件編寫查詢。請人幫我

輸出應該是,如果我需要一個月的基礎是指輸出上面的數據是,

考生人數最多的招募是在一個月-04,總爲28, 的輸出是月份 - 四月和候選人-12

我需要輸出作爲哪個最大數量的候選人招募上述數據。

+0

把這裏你的查詢,你試過! –

+0

你應該真的添加你嘗試過的,以及所需的結果。我們在談論哪些RDBMS? MySQL的?另外,什麼列類型是'日期'?一個真正的日期類型或字符串? –

+0

@JoachimIsaksson RDBMS(MS SQL Server 2008)列類型是日期日期數據類型和候選人int數據類型 – user2918543

回答

0

公用表格表達式可以獲取日期詳細信息,然後您只需要定期GROUP BY即可獲得正確的結果;

WITH cte AS (
    SELECT SUBSTRING(CONVERT(VARCHAR, Date, 112), 1, 4) year, candidates 
    FROM recruited 
) 
SELECT TOP 1 year best_year, SUM(candidates) candidates FROM cte 
GROUP BY year ORDER BY candidates DESC; 

An SQLfiddle to test with

+0

謝謝...這是我需要的。它真的幫助我 – user2918543