怎么比较两列数据大小,希望的输出是(列1,列2中小于本行列1的记录个数) 注:不用游标

a471788590 2015-03-13 10:02:17
目前遇到的问题是这样的
比如说现有
列1
2012-12-31 21:55:00.000
2012-12-31 18:10:00.000
2012-12-31 22:10:00.000
2012-12-31 23:45:00.000
2012-12-31 12:25:00.000
2012-12-31 20:45:00.000
2012-12-31 21:25:00.000
2012-12-30 19:55:00.000
2013-01-01 20:25:00.000
2013-01-01 15:45:00.000
2013-01-01 19:00:00.000
2013-01-01 14:55:00.000
2013-01-01 06:35:00.000
2012-12-31 21:05:00.000
2012-12-31 19:05:00.000
2012-12-31 23:30:00.000
2012-12-31 21:05:00.000
列2
2013-01-01 20:25:00.000
2013-01-01 15:45:00.000
2013-01-01 19:00:00.000
2013-01-01 14:55:00.000
2013-01-01 06:35:00.000
2013-01-01 07:35:00.000
2013-01-01 07:45:00.000
2013-01-01 09:30:00.000
2012-12-31 21:05:00.000
2012-12-31 19:05:00.000
2012-12-31 23:30:00.000
2012-12-31 21:05:00.000
2013-01-01 07:10:00.000
2013-01-01 11:30:00.000
2013-01-01 07:40:00.000
2013-01-01 08:05:00.000
2013-01-01 08:25:00.000
2013-01-01 07:40:00.000
想得到的结果是列2的值中,比列1当前行值小的所有行的个数
比如这样
2012-12-31 21:55:00.000 3

之前用的是游标,但处理起来太耗时间,想用结果集的方法来做,大家有什么好方法吗?
...全文
714 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
reenjie 2015-03-13
  • 打赏
  • 举报
回复
select 列1,(select count(*) from table1 where 列2<a.列1) from table1 as a order by 列1
还在加载中灬 2015-03-13
  • 打赏
  • 举报
回复
--假设列1表是TB1,列2是表TB2
SELECT T1.列1,COUNT(T2.列2)
FROM TB1 T1
	LEFT JOIN TB2 T2 ON T1.列1>T2.列2
GROUP BY T1.列1

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧