Mysql GROUP BY具有MAX(DATE)和MIN(DATE)

问题描述 投票:0回答:2

在我的mysql表中,我有一个日期列和一个票证列:

+------------+------------+
| Ticket     | Date       |
+------------+------------+
| 1          | 2020-02-02 |
| 1          | 2020-03-03 |
| 1          | 2020-04-02 |
| 2          | 2020-04-05 |
| 2          | 2020-04-09 |
| 2          | 2020-04-15 |
+------------+------------+

如何用一个查询为每个票证选择最小(DATE)和最大(DATE),结果应该是:

+------------+------------+------------+
| Ticket     | MIN Date   | MAX DATE   |
+------------+------------+------------+
| 1          | 2020-02-02 | 2020-04-02 |
| 2          | 2020-04-05 | 2020-04-15 |
+------------+------------+------------+
mysql sql group-by max min
2个回答
1
投票

这是简单的聚合:

select ticket, min(date) mindate, max(date) maxdate
from mytable
group by ticket

0
投票

尝试此

select ticket, date
from table name
where (ticket in (select max(date)
                  from table name)
       UNION
       ticket = (select min(date)
                 from table name))
© www.soinside.com 2019 - 2024. All rights reserved.