永发信息网

求oracle按天查询sql语句

答案:2  悬赏:60  手机版
解决时间 2021-02-25 15:54
  • 提问者网友:聂風
  • 2021-02-25 01:49
假设一张表(table)中有一个字段日期(date),要求查询15年8月中每一天在表中的总记录数,不一定每天都有记录,要求结果是以下格式
2015-8-1 3
2015-8-2 2
2015-8-3 0
2015-8-4 1
...
2015-8-31 2

请大家注意下,主要难度是,某天没有数据的话也会显示总量为0.
最佳答案
  • 五星知识达人网友:逐風
  • 2021-02-25 02:34
select to_char(date,'yyyy-mm-dd') date,count(1) from table where date >to_date('2015-08-01','yyyy-mm-dd') and date< to_date('2015-08-31','yyyy-mm-dd') group by date order by date asc
没有数据显示0这个不太好办,临时还没想到
全部回答
  • 1楼网友:不甚了了
  • 2021-02-25 04:07

关于sql server sql语句查询分页数据的解决方案:

要求选取 tbllendlist 中 第3000页的记录,每一页100条记录。-------------------------

----------

方法1:

----------

select top 100 * from tbllendlist

where fldserialno not in

(

select top 300100 fldserialno from tbllendlist

order by fldserialno

)

order by fldserialno

----------

方法2:

----------

select top 100 *

from tbllendlist

where (fldserialno >

(select max(fldserialno)

from (select top 300100 fldserialno

from tbllendlist

order by fldserialno) as t))

order by fldserialno

方法1执行速度比较快!

不过,这种做法还是很麻烦,强烈期待微软发明新的可分页的sql语句来!!!!

sql server ---------------------------------------------------------------------------------

从数据库表中的第m条记录开始取n条记录,利用top关键字:注意如果select语句中既有top,又有order by,则是从排序好的结果集中选择:

select *

from ( select top n *

from (select top (m + n - 1) * from 表名称 order by 主键 desc) t1 ) t2

order by 主键 asc

例如从表sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:

select *

from ( select top 20 *

from (select top 29 * from sys_option order by sys_id desc) t1) t2

order by sys_id asc

oralce数据库--------------------------------------------------------------------------------

从数据库表中第m条记录开始检索n条记录

select *

from (select rownum r,t1.* from 表名称 t1 where rownum < m + n) t2

where t2.r >= m

例如从表sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:

select *

from (select rownum r,t1.* from sys_option where rownum < 30 ) t2

where t2.r >= 10

如果你对oracle数据库分页不是很熟悉的话,本页后面有专门对oracle分页技术的讲解。

my sql数据库---------------------------------------------------------------------------------------------

my sql数据库最简单,是利用mysql的limit函数,limit [offset,] rows从数据库表中m条记录开始检索n条记录的语句为:

select * from 表名称 limit m,n

例如从表sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:

select * from sys_option limit 10,20

tag: racle racle server server server sql sql
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯