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

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -