datetime - MySQL: Selecting rows with event time earlier than 1 week from a specific event_time -
i have table contains following data:
id event_time event_type 0 2016-05-11 17:26:03.0 1 0 2017-06-13 19:29:03.0 2 0 2017-06-13 13:56:05.0 3 0 2016-05-13 17:20:37.0 1 1 2016-09-20 16:20:03.0 0 1 2016-11-11 20:12:03.0 2 2 2016-11-15 17:26:03.0 1 2 2016-12-02 15:06:00.0 2 2 2016-12-02 15:00:03.0 0
each id has event_type = 2
. want select data, 1 week or less older date event_type = 2
each id
separately.
i tried query:
select*from my_table event_time in (select date_sub(event_time, interval 7 day) my_table event_type='2')
but doesn't give me desired output, should be:
id event_time event_type 0 2017-06-13 19:29:03.0 2 0 2017-06-13 13:56:05.0 3 1 2016-11-11 20:12:03.0 2 2 2016-12-02 15:06:00.0 2 2 2016-12-02 15:00:03.0 0
i think doesn't work date_sub
function, don't have idea how fix it.
edited: dates event_type = 2 should either in output.
you mention "for each id separately", yet don't check in query.
try this:
select * my_table event_time > ( select date_sub(max(event_time), interval 7 day) my_table mt /*note used different alias here table...*/ event_type='2' , mt.id = my_table.id /*...so can distinguish between id in subquery , outer query*/ )
Comments
Post a Comment