帮我看看这个SQL语句

lxh7213 2011-08-11 03:39:14
select rowid=(select count(code)from test where code=3),*from test where code=3 order by rowid
这个语句本来我用的时候rowid可以从1到count(code)升序排的,不知道怎么了不能用了
结果rowid都是等于count(code)了,求解
...全文
62 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
AcHerat 2011-08-11
  • 打赏
  • 举报
回复
rowid=row_number() over (order by getdate())
lxh7213 2011-08-11
  • 打赏
  • 举报
回复
我的意思就是查询code=3的值,然后给把结果弄个序号
Neo_1 2011-08-11
  • 打赏
  • 举报
回复
不是很了解你的问题,能给点数据,举个例子吗?
lxh7213 2011-08-11
  • 打赏
  • 举报
回复
那应该怎么写啊,查询数据是这样的,我只是想加个序号这样的,应该怎么写
gogodiy 2011-08-11
  • 打赏
  • 举报
回复
select count(code) from test where code=3这个子查询是标量子查询,也就是查询出的结果是单个值,你怎么来排序?
codeingman 2011-08-11
  • 打赏
  • 举报
回复
本来可以,现在不行了?

如果你的子查询里面 WHERE CODE=3是不变的,那么RowID永远等于Count(code).

如果你贴出一点数据,说不定可以帮到你。
快溜 2011-08-11
  • 打赏
  • 举报
回复
select rowid=(select count(code)from test where code<a.code),*
from test where code=3 order by rowid
AcHerat 2011-08-11
  • 打赏
  • 举报
回复
select rowid=(select count(code) from test where code=t.code),*from test t where code=3 order by rowid

类似这样?
AcHerat 2011-08-11
  • 打赏
  • 举报
回复
select rowid=(select count(code) from test where code=3)

(select count(code) from test where code=3)这个查询出的是固定的值,不是变动的,所以rowid是一个值,不排序!

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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