求一条SQL的写法。

liaorui 2007-06-16 02:46:03
建表
create table aa( a nvarchar (20),b nvarchar (20),c nvarchar (20))

插数
insert into aa values('aa','aa','aa')
insert into aa values('bb','bb','bb')
insert into aa values('cc','cc','cc')

我需要查出的结果为:
1 aa aa aa
2 bb bb bb
3 cc cc cc

就是说把条数给查询出来,不能通过建表的时候增加一个计数字段得到。谢谢那位老大帮忙解决一下。最后能在把ORACLE的也写出来。谢谢
...全文
198 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
liaorui 2007-06-16
  • 打赏
  • 举报
回复
解决了。谢谢大家
liaorui 2007-06-16
  • 打赏
  • 举报
回复
rowid是可以有函数自己转换
liaorui 2007-06-16
  • 打赏
  • 举报
回复
谢谢Haiwer(海阔天空),SQL搞定,,那ORACLE呢。是否也有和identity这个一样的函数
昵称被占用了 2007-06-16
  • 打赏
  • 举报
回复
要效率就用identity(int,1,1) + 临时表

liaorui 2007-06-16
  • 打赏
  • 举报
回复
请各位在帮忙想想SQL的怎么处理。谢谢
liaorui 2007-06-16
  • 打赏
  • 举报
回复
ORACLE的ROWID是个64进制的,ORACLE里有没有函数直接转换,不用自己写转换函数的
liaorui 2007-06-16
  • 打赏
  • 举报
回复
Haiwer(海阔天空)这个方法是可以。但我查询的表是一个通过多个连接出来的一个记录集。而且数据量比较大,是否还有其它比较好的方法。谢谢老大们
昵称被占用了 2007-06-16
  • 打赏
  • 举报
回复
ORACLE的简单
select rowid,a,b,c from aa
zjcxc 元老 2007-06-16
  • 打赏
  • 举报
回复
sql 2000 参考 Haiwer(海阔天空) 的方法.

注意 a<=a.aa 这个, a列的值要求是唯一的
zjcxc 元老 2007-06-16
  • 打赏
  • 举报
回复
ORACLE 也有 ROWNUMBER 函数, 不过 ORACLE 不熟, 所以只知道有这个函数, 不知道如何用.
zjcxc 元老 2007-06-16
  • 打赏
  • 举报
回复
就是说把条数给查询出来,不能通过建表的时候增加一个计数字段得到
------------------------------------------------------------------

就是行号嘛?


SQL 2005 有 ROW_NUMBER()

SELECT RowNo = ROW_NUMBER() OVER(ORDER BY a), *
FROM AA
tianhxk 2007-06-16
  • 打赏
  • 举报
回复
sql server 使用 identity(int,1,1) + 临时表可以实现,oracle不熟
昵称被占用了 2007-06-16
  • 打赏
  • 举报
回复
select (select count(*) from aa where a<=a.a) as id,a,b,c from aa a
order by a
liaorui 2007-06-16
  • 打赏
  • 举报
回复
分组前面的数值只能是1,我要返回的是条数,而不是分组的条数。
Zack999 2007-06-16
  • 打赏
  • 举报
回复
select count(*),a,b,c from aa group by a,b,c

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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