[英]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.