以文本方式查看主题

-  搭建论坛  (http://bbs.diylsoft.com:8118/starforum/index.asp)
--  用户服务  (http://bbs.diylsoft.com:8118/starforum/list.asp?boardid=2)
----  admin,请教几条sql命令  (http://bbs.diylsoft.com:8118/starforum/dispbbs.asp?boardid=2&id=4931)

--  作者:王键
--  发布时间:2006-2-27 7:57:21
--  admin,请教几条sql命令

1、取表中的第100到第200条记录用什么命令。

2、top命令中我要取第8到第12名该如何设置。

3、我有一个姓名列表一个请假表还有一个统计表,怎样按姓名进行统计?(统计表的内容为姓名和请假的次数)用什么SQL语言简单一些。

谢谢!


--  作者:FSJM
--  发布时间:2006-2-27 8:41:55
--  

在 标准SQL的定义中, 没有 RECNO() 记录号 这个函数,这是 Dbase 和 VFP 等中的定义。

所以你必须自己 定义一个数据字段 叫 Recno 的字段, 然后就可以写成:

select * from tableName

where Recno > 100 and Recno < 200;


--  作者:FSJM
--  发布时间:2006-2-27 8:54:17
--  

3 大致是:

select sum(请假次数) from 请假表

where 姓名 = 人名;


--  作者:王键
--  发布时间:2006-2-27 9:12:17
--  
以下是引用FSJM在2006-2-27 8:54:17的发言:

3 大致是:

select sum(请假次数) from 请假表

where 姓名 = 人名;

这个我明白,没有一条命令能形成一个列表吗?比如:张三 30次

李四 40次

王五 50次

用上面的命令的确可以,但是当用户太多时统计表生成挺慢的。


--  作者:王键
--  发布时间:2006-2-27 9:22:33
--  
以下是引用FSJM在2006-2-27 8:41:55的发言:

在 标准SQL的定义中, 没有 RECNO() 记录号 这个函数,这是 Dbase 和 VFP 等中的定义。

所以你必须自己 定义一个数据字段 叫 Recno 的字段, 然后就可以写成:

select * from tableName

where Recno > 100 and Recno < 200;

“定义一个数据字段 叫 Recno 的字段”是怎样定义?我用的是access数据库。


--  作者:FSJM
--  发布时间:2006-2-27 10:19:37
--  

Recno 我是随便写的, 其实就是字段名,可以写成中文"记录编号"等。

好象一条语句很难生成一个统计报表。但你可使用 or ,可这是有限的几个;如果没有 where 语句,就是全部表的。


--  作者:王键
--  发布时间:2006-2-27 10:28:00
--  
记录的编号怎样赋值给字段呢?如果采用自动编号,删几条记录就断开了,不是吗?
--  作者:FSJM
--  发布时间:2006-2-27 11:30:36
--  

你说的很对,所以在 标准的 SQL 定义中没有 记录号 这个函数。

以记录号 为条件来查询数据,这个想法是不规范的;所以必须要用其它方法代替。

这是大型数据库 使用时的特点。


--  作者:王键
--  发布时间:2006-2-27 13:55:44
--  

让您见笑了!