当前位置: 代码迷 >> Sql Server >> 帮忙写个简单的sql 小弟我有点懵了.
  详细解决方案

帮忙写个简单的sql 小弟我有点懵了.

热度:0   发布时间:2016-04-27 11:14:53.0
帮忙写个简单的sql 我有点懵了...
数据结构
股票代码 股票名称 是否持仓 操作时间
20300348 长亮科技 0 2012-09-05 09:51:55.290
20300328 宜安科技 1 2012-09-03 13:20:30.440
20300328 宜安科技 0 2012-08-31 10:41:54.910
20300348 长亮科技 1 2012-08-31 10:37:58.310
20300348 长亮科技 0 2012-08-28 09:55:14.793

 上面 是否持仓字段 0 代表还在持仓 1 清仓

 我想找到 所有持仓的股票的最新的一条交易时间,也就是说 是否持仓字段 全部是0的股票的最新交易时间

------解决方案--------------------
SQL code
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*/
------解决方案--------------------
我的回答也得不到你要结果?
  相关解决方案