I have a table. The structure looks like this:
id(pk) year col1 col2 date
1 2008 50 60 feb09
2 2008 40 70 feb10
3 2009 60 80 feb23
4 2009 50 70 feb24
5 2008 40 80 feb26
I have no idea how to write a sql query to output a table which includes the latest of record of 2008, and the latest record of 2009.
Can anyone help me out on this question? Thanks a lot,
Software/Hardware used:
ASKED:
February 17, 2009 5:53 PM
UPDATED:
February 3, 2010 3:47 PM
SELECT *
FROM (
SELECT ROWNUM AS RANK, ID,YEAR, COL1,COL2,DATE
FROM (
SELECT ROWNUM AS RANK,YEAR, ID,COL1,COL2,DATE
FROM EMPLOYEE
WHERE YEAR IN (’2008′)
ORDER BY DATE DESC
) A
WHERE RANK=1
UNION
SELECT ROWNUM AS RANK, ID,YEAR, COL1,COL2,DATE
FROM
(
SELECT ROWNUM AS RANK1, YEAR, COL1,COL2, DATE
FROM EMPLOYEE
WHERE YEAR IN (’2009′)
ORDER BY DATE DESC
)
WHERE RANK=1
)
This particualr ansqwer is for Oracle database.
Good stuff, BigKat. Really enjoyed that and built a working example over my database. I will certainly use this tip. Thanks.