SQL query for the latest record for each day
Posted
by Mac
on Stack Overflow
See other posts from Stack Overflow
or by Mac
Published on 2010-04-29T02:56:40Z
Indexed on
2010/04/29
3:07 UTC
Read the original article
Hit count: 173
I've got an Oracle 10g database with a table with a structure and content very similar to the following:
CREATE TABLE MyTable
(
id INTEGER PRIMARY KEY,
otherData VARCHAR2(100),
submitted DATE
);
INSERT INTO MyTable VALUES (1, 'a', TO_DATE('28/04/2010 05:13', ''DD/MM/YYYY HH24:MI));
INSERT INTO MyTable VALUES (2, 'b', TO_DATE('28/04/2010 03:48', ''DD/MM/YYYY HH24:MI));
INSERT INTO MyTable VALUES (3, 'c', TO_DATE('29/04/2010 05:13', ''DD/MM/YYYY HH24:MI));
INSERT INTO MyTable VALUES (4, 'd', TO_DATE('29/04/2010 17:16', ''DD/MM/YYYY HH24:MI));
INSERT INTO MyTable VALUES (5, 'e', TO_DATE('29/04/2010 08:49', ''DD/MM/YYYY HH24:MI));
What I need to do is query the database for the latest record submitted on each given day. For example, with the above data I would expect the records with ID numbers 1 and 4 to be returned, as these are the latest each for 28 April and 29 April respectively.
Unfortunately, I have little expertise as far as SQL is concerned. Could anybody possibly provide some insight as to how to achieve this?
Thanks in advance!
© Stack Overflow or respective owner