簡體   English   中英

分組依據的前2個值

[英]top 2 values from group by

當我將“詳細信息”列分組並查找日期“ 2009-08-05”時,我也希望有較早的一天的ID。

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 | 
+------------+------------------+------------+
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

如果您是指在詳細信息內按日期排序(並且從您的問題中不能清楚地知道那是您想要的),請嘗試:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM