设计一个存储过程,给出被借次数前10名的图书名及借阅次数。输入统计的起止时间以及n值(top 10 )。
包含的表有:书库:书库编号,库名,负责人,地点
图书管理员:职工号,姓名,性别,年龄,职称
图书:书号,书名,作者,出版社,单价,购买日期,存放书库号,借出否,摘要
学生: 学号,姓名,性别,所在院系
图书借阅当前记录: 学号,书号,借阅日期,管理员职工号
图书借阅历史记录:学号,书号,借阅日期,还书日期,管理员职工号select count(*),书名,借阅时间 from 图书借阅历史记录 
where 借阅时间> y/m/d
group by 书名
order by count(*) dsc
问下这样的语句对么
要是对那再怎么实现输出前10个呢

解决方案 »

  1.   

    select * from (select count(*),书名,借阅时间 from 图书借阅历史记录 
    where 借阅时间> y/m/d 
    group by 书名 
    order by count(*) dsc) where rownum <= n
      

  2.   


    select * from (select count(*),书名,借阅时间 from 图书借阅历史记录 
    where 借阅时间> to_date('你的时间字符串格式为yyyy-mm-dd', 'yyyy-mm-dd') 
    group by 书名 
    order by count(*) dsc) where rownum <= n 
      

  3.   

    那个rownum 难道就是传说中用来计数的?