2012-06-23 3 views
1

내가 가진 열이있는 테이블 :
S_ID (주 INT), sup_type (INT), sup_date (날짜), sup_req (INT)

을에 sup_type 범위는 0-5 범위입니다.

어떻게 각 sup_type (0-5)의 (sup_date으로) 가장 최근의 항목을 추출 할 수 있습니다.MySQL은 - 열 유형 항목의 가장 최근의 선택

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* s_Id * sup_type *  sup_date   * sup_req * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 1 *  0  * 2012-06-15 10:13:21 *  4  * 
* 2 *  0  * 2012-06-15 11:22:01 *  4  * 
* 3 *  1  * 2012-06-15 13:23:32 *  4  * 
* 4 *  2  * 2012-06-16 08:04:29 *  4  * 
* 5 *  1  * 2012-06-16 16:23:24 *  4  * 
* 6 *  1  * 2012-06-17 13:14:05 *  4  * 
* 7 *  3  * 2012-06-18 13:37:55 *  4  * 
* 8 *  4  * 2012-06-19 13:21:52 *  4  * 
* 9 *  4  * 2012-06-20 16:15:19 *  4  * 
* 10 *  5  * 2012-06-20 16:17:37 *  4  * 
* 11 *  0  * 2012-06-20 16:21:53 *  4  * 
* 12 *  1  * 2012-06-20 16:28:13 *  4  * 
* 13 *  3  * 2012-06-21 12:23:29 *  4  * 
* 14 *  3  * 2012-06-22 07:26:41 *  4  * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 

나는

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* s_Id * sup_type *  sup_date   * sup_req * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
* 4 *  2  * 2012-06-16 08:04:29 *  4  * 
* 9 *  4  * 2012-06-20 16:15:19 *  4  * 
* 10 *  5  * 2012-06-20 16:17:37 *  4  * 
* 11 *  0  * 2012-06-20 16:21:53 *  4  * 
* 12 *  1  * 2012-06-20 16:28:13 *  4  * 
* 14 *  3  * 2012-06-22 07:26:41 *  4  * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 

감사를 추출합니다.

답변

4
SELECT 
    b.* 
FROM 
    (
     SELECT sup_type, MAX(sup_date) AS maxsupdate 
     FROM tbl 
     GROUP BY sup_type 
    ) a 
INNER JOIN 
    tbl b ON 
     a.sup_type = b.sup_type AND 
     a.maxsupdate = b.sup_date 
ORDER BY 
    b.s_Id 
+0

예. 효율성을위한'(sup_type, sup_date) '에 대한 색인. –