易截截图软件、单文件、免安装、纯绿色、仅160KB

使用SQL语句找到表中某列的第几名

SQL> select * from t1;
        ID        AGE
---------- ----------
         1         20
         2         19
         3         19
         4         21
         5         22
         6         27
6 rows selected.
现在要求找出表中第三年轻的学生
方法1
第三年轻,也就意味着只有两个人比他小
SQL> select t11.*
  2  from t1 t11
  3  where 2=(select count(*) from t1 t22 where t11.age>t22.age);
        ID        AGE
---------- ----------
         1         20
方法2
使用窗口函数
SQL> select id,age
  2  from
  3  (
  4  select id,age,
  5  dense_rank() over(order by age) dr
  6  from t1
  7  )
  8  where dr=3;
        ID        AGE
---------- ----------
         4         21
奇怪了,这里结果为什么不一样呢?回头看一下表中的数据,有两条age=19的数据,这就是原因。下面换rank
SQL> select id,age
  2  from
  3  (
  4  select id,age,
  5  rank() over(order by age) dr
  6  from t1
  7  )
  8  where dr=3;
      


相关文档:

sql 2005 存储过程分页 java 代码

 create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',         
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列 ......

My sql中文乱码问题!

      这几天一直被中文乱码问题困扰,中文数据插入到My Sql中很正常,在Command client line中也能正常显示,可从数据库中读到JSP页面上时,就变成“火星文”了。
  于是上网查询,也看到好多方法:有的说把my.ini中default-character-set=latin1改为default-character-set=utf8,有 ......

给SQL Server .LDF 文件减肥

  如果原来的数据库可用,分离数据库后,只附加数据文件,不附加日志   
  如果不可用,只能慢慢等还原操作完成了   
    
  日志文件太大了,应该定期整理日志   
    
  --压缩日志及数据库文件大小   
  &n ......

sql语句中left join、inner join中的on与where的区别

table a(id, type):
id     type 
----------------------------------
1      1         
2      1          
3   &n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号