表:
UserId, Value, Date.
Run Code Online (Sandbox Code Playgroud)
我想得到UserId,每个UserId的max(Date)值.也就是说,具有最新日期的每个UserId的值.有没有办法在SQL中执行此操作?(最好是Oracle)
更新:对任何含糊不清的道歉:我需要获取所有UserIds.但对于每个UserId,只有该用户具有最新日期的那一行.
我不知道如何在sql中编写查询.
这是我到目前为止所尝试的.
where
case
when a.book_id like 'AB%' then a.book_id = b.school_id, --1
when a.book_id like 'CB%' then a.book_id = b.college_id. --2
end
Run Code Online (Sandbox Code Playgroud)
案例1和2解释.
1-我相信是好的.
2- a.book以字母CB开头,CBQ123然后只需取Q123= b.college_id.
b.college_id前面没有CB.
编辑以添加示例
select
a.Name,
a.ID,
a.Due,
b.school_id,
b.college_id
from Student a and FinishedStudent b
where
case
when a.book_id like 'AB%' then a.book_id = b.school_id, --1
when a.book_id like 'CB%' then a.book_id = b.college_id. --2
end
Run Code Online (Sandbox Code Playgroud)
如果a.book = CBQ111那么Q111在FinishedStudent表中而不是CBQ11,所以我需要比较最后3个字符.
用案例2编辑
when a.book_id ='CBQ111' then a.book_id(Q111) = b.college_id. …Run Code Online (Sandbox Code Playgroud)