【发布时间】:2016-04-17 12:29:11
【问题描述】:
我有一个类似这样的查询:
select * from bulk_upload_subscribers where SUBSCRIBER_ID='123456';
这个查询的输出产生了我:
TASK_ID | PROCESS_TIME
4790 | 2015-03-26 14:19:15
5784 | 2015-09-10 12:29:50
6001 | 2015-10-12 19:37:34
6020 | 2015-10-14 16:52:36
现在,我只需要按日期的最后/最新输出。 IE。所需的输出:
6020 | 2015-10-14 16:52:36
为了实现这一点,我使用了下面的查询,它也确实有效!
select * from bulk_upload_subscribers where SUBSCRIBER_ID='123456' ORDER BY PROCESS_TIME desc limit 1;
现在,主要场景是,我正在编写一个 Join 查询来获取“task_id”,并根据 task_id 从不同的表中获取“task_name”。查询是:
select a.SUBSCRIBER_ID,b.TASK_ID,b.task_name AS Campaign_name from bulk_upload_subscribers a,bulk_upload_tasks b where subscriber_id in ('123456','234567','345678') and a.task_id=b.task_id order by a.PROCESS_TIME desc limit 1;
由于limit 1,上面的查询只产生了一个值。谁能指导我如何完成任务?每个 SUBSCRIBER_ID 的输出必须有 3 个任务名称。
NOTE: I have around 600 SUBSCRIBER_ID's. Solution via scripting will also help me.
【问题讨论】: