【发布时间】:2016-10-29 03:36:11
【问题描述】:
谁能帮我如何为每封电子邮件选择一条记录?
我有以下问题:
SELECT a.ID, a.NAME, a.LASTMODIFIED, b.EMAIL
FROM TABLE_A a
JOIN TABLE_B b
ON a.IDA = b.IDB
WHERE a.LASTMODIFIED <= today
ORDER BY b.LASTMODIFIED
结果是:
+------+-------+--------------------------------------+
| id | name | lastmodified | email |
+------+-------+--------------------------------------+
| 1 | aa | 01-JAN-2016 | test01@mail.com |
| 2 | bb | 02-JAN-2016 | test02@mail.com |
| 3 | cc | 03-JAN-2016 | test01@mail.com |
| 4 | dd | 02-JAn-2016 | test03@mail.com |
+------+-------+--------------------------------------+
预期结果是:
+------+-------+--------------------------------------+
| id | name | lastmodified | email |
+------+-------+--------------------------------------+
| 2 | bb | 02-JAN-2016 | test02@mail.com |
| 3 | cc | 03-JAN-2016 | test01@mail.com |
| 4 | dd | 02-JAN-2016 | test03@mail.com |
+------+-------+--------------------------------------+
它应该每行只返回一封电子邮件,按lastmodified 日期排序。
【问题讨论】:
标签: sql oracle oracle10g greatest-n-per-group