佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1173|回复: 10

一个问题考一考大家

[复制链接]
发表于 11-3-2006 02:47 AM | 显示全部楼层 |阅读模式
有一个问题考一考大家:

Select the 4th highest salary from table below WITHOUT using inner query

Table tbl_salary
staffID    salary
1          2270
2          5500
3          3750
4          1780
5          3300

有什么意见吗?
回复

使用道具 举报


ADVERTISEMENT

发表于 11-3-2006 09:18 AM | 显示全部楼层
我会用一个最笨的方法。


  1. Dim n
  2. n = 0
  3. ....
  4. SQL = select salary from tb1_salary
  5. ...

  6. Do while not rs.eof
  7.   If n = 4 then
  8.    Response.write("XXX")
  9.   Else
  10.    do nothing
  11.   End If
  12. n = n + 1
  13. loop
复制代码
回复

使用道具 举报

 楼主| 发表于 11-3-2006 04:26 PM | 显示全部楼层
如果是用SQL而已呢?其实我也不会
回复

使用道具 举报

发表于 12-3-2006 12:36 PM | 显示全部楼层
select top 4 salary from tbl_salary order by salary dsc

然后拿出第4个record即可
回复

使用道具 举报

发表于 12-3-2006 05:38 PM | 显示全部楼层
MYSQL:

SELECT * FROM `TABLE1` ORDER BY `salary` DESC LIMIT 3 , 1  

其他的 SQL 也有類似 LIMIT 的東西.

* 改成 DESC 了

[ 本帖最后由 flashang 于 13-3-2006 09:11 AM 编辑 ]
回复

使用道具 举报

发表于 12-3-2006 07:48 PM | 显示全部楼层
原帖由 flashang 于 12-3-2006 05:38 PM 发表
MYSQL:

SELECT * FROM `TABLE1` ORDER BY `salary` ASC LIMIT 3 , 1  

其他的 SQL 也有類似 LIMIT 的東西.

原来有LIMIT这么好康德东西
该是 DSC 吧?
回复

使用道具 举报

Follow Us
 楼主| 发表于 14-3-2006 12:32 AM | 显示全部楼层
是咯,我现在才知道有limit,但是ms sql server 不能用。。应该是ASC啊,问题要第四个result,所以应该LIMIT 3, 1

SELECT * FROM `student` LIMIT 20, 10

This will return 10 records from 21st record. That is from 21st record to 30th  record. Here is the output
回复

使用道具 举报

发表于 14-3-2006 09:08 AM | 显示全部楼层
MS SQL 可以用 TOP

SELECT TOP 4 FROM TABLE ORDER BY XXX DESC
回复

使用道具 举报


ADVERTISEMENT

发表于 14-3-2006 10:40 PM | 显示全部楼层
原帖由 石破天金 于 14-3-2006 12:32 AM 发表
是咯,我现在才知道有limit,但是ms sql server 不能用。。应该是ASC啊,问题要第四个result,所以应该LIMIT 3, 1

SELECT * FROM `student` LIMIT 20, 10

This will return 10 records from 21st record.  ...


應該是 desc

1st 5500
2nd 3750
3rd 3300
4th 2270
5th 1780
回复

使用道具 举报

发表于 16-3-2006 04:29 PM | 显示全部楼层
那MS SQL 可以做类似MYSQL 的LIMIT 4,5 酱的STATEMENT吗?也就是从第4行的RECORD算起
回复

使用道具 举报

发表于 17-3-2006 11:23 AM | 显示全部楼层
原帖由 max5007 于 16-3-2006 04:29 PM 发表
那MS SQL 可以做类似MYSQL 的LIMIT 4,5 酱的STATEMENT吗?也就是从第4行的RECORD算起

不能
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 11-11-2024 02:58 PM , Processed in 0.123220 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表