帮忙写个简单的sql 我有点懵了...
数据结构
股票代码 股票名称 是否持仓 操作时间
20300348长亮科技02012-09-05 09:51:55.290
20300328宜安科技12012-09-03 13:20:30.440
20300328宜安科技02012-08-31 10:41:54.910
20300348长亮科技12012-08-31 10:37:58.310
20300348长亮科技02012-08-28 09:55:14.793
上面 是否持仓字段 0 代表还在持仓 1 清仓
我想找到 所有持仓的股票的最新的一条交易时间,也就是说 是否持仓字段 全部是0的股票的最新交易时间
[解决办法]
declare @test table(股票代码 int, 股票名称 nvarchar(4),是否持仓 int, 操作时间 datetime)insert into @testselect 20300348, N'长亮科技', 0, '2012-09-05 09:51:55.290' union allselect 20300328, N'宜安科技', 1, '2012-09-03 13:20:30.440' union allselect 20300328, N'宜安科技', 0, '2012-08-31 10:41:54.910' union allselect 20300348, N'长亮科技', 1, '2012-08-31 10:37:58.310' union allselect 20300348, N'长亮科技', 0, '2012-08-28 09:55:14.793';with cte as( select row_number() over(partition by 股票代码 order by 操作时间 desc) rn,* from @test)select 股票代码, 股票名称,是否持仓, 操作时间 from cte where rn=1 and 是否持仓=0/*股票代码 股票名称 是否持仓 操作时间----------- ---- ----------- -----------------------20300348 长亮科技 0 2012-09-05 09:51:55.290*/
[解决办法]
我的回答也得不到你要结果?