SQL 具有独特性和日期
SQL with Distinct and Date
我有以下SQL声明:
select DISTINCT
USERID,
NAME,
SURNAME,
RESIDENCE,
HIT_DATE
from PAGE_HIT
where HIT_DATE < add_months(sysdate, -6);
我的问题是我不止一次得到记录,因为HIT_DATE
是不同的。例如结果是:
editore, editor, eddy, blabla, 28.01.2013
editore, editor, eddy, blabla, 26.01.2013
editore, editor, eddy, blabla, 14.01.2013
editore, editor, eddy, blabla, 03.01.2013
但我只想获取最新的条目 HIT_DATE
,在这个例子中:
editore, editor, eddy, blabla, 28.01.2013
我不知道如何修改我的 SQL 声明
这样:
select USERID, NAME, SURNAME, RESIDENCE, max(HIT_DATE) from PAGE_HIT where HIT_DATE < add_months(sysdate, -6)
GROUP BY USERID, NAME, SURNAME, RESIDENCE;
使用GROUP BY
.
select
USERID,
NAME,
SURNAME,
RESIDENCE,
max(HIT_DATE)
from
PAGE_HIT
where
HIT_DATE < add_months(sysdate, -6)
group by
USERID,
NAME,
SURNAME,
RESIDENCE;
我有以下SQL声明:
select DISTINCT
USERID,
NAME,
SURNAME,
RESIDENCE,
HIT_DATE
from PAGE_HIT
where HIT_DATE < add_months(sysdate, -6);
我的问题是我不止一次得到记录,因为HIT_DATE
是不同的。例如结果是:
editore, editor, eddy, blabla, 28.01.2013
editore, editor, eddy, blabla, 26.01.2013
editore, editor, eddy, blabla, 14.01.2013
editore, editor, eddy, blabla, 03.01.2013
但我只想获取最新的条目 HIT_DATE
,在这个例子中:
editore, editor, eddy, blabla, 28.01.2013
我不知道如何修改我的 SQL 声明
这样:
select USERID, NAME, SURNAME, RESIDENCE, max(HIT_DATE) from PAGE_HIT where HIT_DATE < add_months(sysdate, -6)
GROUP BY USERID, NAME, SURNAME, RESIDENCE;
使用GROUP BY
.
select
USERID,
NAME,
SURNAME,
RESIDENCE,
max(HIT_DATE)
from
PAGE_HIT
where
HIT_DATE < add_months(sysdate, -6)
group by
USERID,
NAME,
SURNAME,
RESIDENCE;