2012-11-08 27 views
2

enter image description hereMysql的查詢 - 對於每一日期,最多3個DATAS

這是我的數據庫表中的數據,{我一直保持着只有一個表}

我需要從每個起始日期獲取最多3個數據,

給我任何的想法來開發查詢,,

+0

你是什麼意思 - 最多3個數據?請解釋並顯示所需的結果。 – Devart

+0

i e,每個日期的限制3 –

+0

您想要每個日期的數據還是想要任何單一日期的數據? –

回答

1
SELECT a.* 
FROM Table1 a 
INNER JOIN Table1 b ON a.start_date = b.start_date AND a.event_id <= b.event_id 
GROUP BY a.event_id,a.start_date 
HAVING COUNT(*) <= 3 
ORDER BY a.start_date 
+0

謝謝你sel ,,謝謝你的查詢..我得到了結果,但小錯誤得到**未知表狀態:TABLE_TYPE ** –

+0

我可以知道什麼是完整的錯誤味精? – sel

+0

未知表格狀態:TABLE_TYPE –

1

我可以建議你這個查詢 -

SELECT * FROM (
    SELECT t1.*, COUNT(*) pos FROM table t1 
    LEFT JOIN table t2 
     ON t2.start_date = t1.start_date AND t2.event_id <= t1.event_id 
    GROUP BY 
    t1.start_date AND t1.event_id 
) t 
WHERE 
    pos <= 3; 

它選擇3行,最小event_idstart_date組中。

+0

謝謝Devart的想法,但是sel得到了我的問題查詢 –

+0

有什麼問題嗎?它根據'start_date'選擇3條第一條記錄。 – Devart

+0

謝謝你的嘗試+1 –