2009-10-28 112 views
1

當我將按詳細信息列進行分組並查找日期「2009-08-05」時,我希望提前一天的ID也是如此。來自羣組的前2個值

select id, details, abc_date from test order by details limit 10; 
+------------+------------------+------------+ 
| id   | details   | abc_date | 
+------------+------------------+------------+ 
|  2224 | 10025   | 2009-08-11 | 
|  4575 | 10025   | 2009-09-02 | 
|  1617 | 10025   | 2009-08-05 | 
|  3614 | 10025   | 2009-08-24 | 
|  1811 | 10025   | 2009-08-07 | 
|  969 | 10025   | 2009-07-29 | 
|  1441 | 10025   | 2009-08-03 | 
|  4345 | 10025   | 2009-08-31 | 
|  3330 | 10025   | 2009-08-21 | 
|  799 | 10025   | 2009-07-27 | 
+------------+------------------+------------+ 
+0

你能包括的一個例子完整的GROUP BY選擇你正在嘗試? – csl 2009-10-28 13:17:50

+0

你有什麼問題?你試過什麼了? – 2009-10-28 13:18:23

回答

1
SELECT details, 
     (
     SELECT id 
     FROM test ti 
     WHERE ti.details = to.details 
     ORDER BY 
       date 
     LIMIT 1 
     ) AS first_id 
FROM test to 
GROUP BY 
     details 
0

如果你的意思是按日期細節中的排序(以及它不是從你的問題明確表示,這是你想要的),嘗試:

select id, details, abc_date from test order by details,abc_date limit 10;