2013-05-05 40 views
0

根據給定的日期範圍,我需要一些幫助來統計和分組一些MySql表記錄。 表strcutre是這樣的:選擇並組化MySql表

enter image description here

事先,謝謝你的幫助

+0

我需要一些幫助來理解你的問題。 – samayo 2013-05-05 17:07:13

+0

對不起,我的英文不太好。我有一個MySql表(頂層結構),我需要做一個查詢,所以我可以按日期分組,按照日期排序的票數總和。每個記錄都是一張票,希望你能理解。 – CaribeSoft 2013-05-05 17:11:15

+0

那麼,用簡單的英語告訴我,你在努力計算什麼 – samayo 2013-05-05 17:12:10

回答

2

這768,16給你,你需要的結果:

SELECT 
    d1.dt, 
    COUNT(DISTINCT t1.recid) AS departures, 
    COUNT(DISTINCT t2.recid) AS returns, 
    COUNT(DISTINCT t1.recid) + COUNT(DISTINCT t2.recid) AS total 
FROM (SELECT departure_date AS dt FROM yourtable 
     UNION SELECT return_date FROM yourtable) d1 
    LEFT JOIN yourtable t1 ON d1.dt = t1.departure_date 
    LEFT JOIN yourtable t2 ON d1.dt = t2.return_date 
GROUP BY 
    d1.dt 

第一個子查詢將返回所有日期,不重複,出現在您的表格(離開和返回)。

我然後嘗試使用LEFT JOIN將每個日期加入到出發日期。然後,我計算DISTINCT t1.recid使聯接成功..

然後我試圖使用LEFT JOIN將每個日期加入到返回日期。總數是兩個計數的總和。

小提琴是here

+0

嘿,夥計,非常感謝你,它適合我!如何快速地發佈你的解釋並把榜樣,你的石頭! – CaribeSoft 2013-05-06 06:50:17