表:
UserId, Value, Date.
Run Code Online (Sandbox Code Playgroud)
我想得到UserId,每个UserId的max(Date)值.也就是说,具有最新日期的每个UserId的值.有没有办法在SQL中执行此操作?(最好是Oracle)
更新:对任何含糊不清的道歉:我需要获取所有UserIds.但对于每个UserId,只有该用户具有最新日期的那一行.
我试图在我的SQL Server数据库中合并这样的东西:
[TicketID], [Person] T0001 Alice T0001 Bob T0002 Catherine T0002 Doug T0003 Elaine
进入:
[TicketID], [People] T0001 Alice, Bob T0002 Catherine, Doug T0003 Elaine
我需要在SQL Server和Oracle中执行此操作.
我发现GROUP_CONCATMySQL 的功能完全符合我的需要,但MySQL不是一个选项.
编辑:测试台:
DECLARE @Tickets TABLE (
[TicketID] char(5) NOT NULL,
[Person] nvarchar(15) NOT NULL
)
INSERT INTO @Tickets VALUES
('T0001', 'Alice'),
('T0001', 'Bob'),
('T0002', 'Catherine'),
('T0002', 'Doug'),
('T0003', 'Elaine')
SELECT * FROM @Tickets
Run Code Online (Sandbox Code Playgroud) 我有一张桌子:
id|val|updated
1 | 31|2012-01-12
1 | 34|2012-01-15
2 | 41|2012-01-15
3 | 44|2012-01-15
4 | 66|2012-01-01
Run Code Online (Sandbox Code Playgroud)
我需要选择具有最大更新值的id和val.所以对于这个表,结果应该是:
1| 34| 2012-01-15
2| 41| 2012-01-15
3| 44| 2012-01-15
4| 66| 2012-01-01
Run Code Online (Sandbox Code Playgroud) 表基本上看起来像:
序列号,ID,日期,数据,数据,数据等
对于相同的ID,可以有多行.我想创建一个在Reports中使用的表的视图,它只显示每个ID的最新条目.它应该显示所有列.
有人可以帮助我选择SQL吗?谢谢.