求SQL语句,统计一张表格中,某一时间段,例如连续10天,每间隔2小时,该表中增加的记录条数。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求SQL语句,统计一张表格中,某一时间段,例如连续10天,每间隔2小时,该表中增加的记录条数。相关的知识,希望对你有一定的参考价值。

参考技术A 新建另一个表tongji里面2个字段数量和时间 ,程序里用timer 控件每2小时执行以下语句 insert into tongji SELECT count(*),getdate() from table,就可以吧table里面每2小时的记录数统计出来,你还要看增加数的话前个数字和后个数字减一下就可以了相信你应该懂得追问

初学者,可以具体点么,谢谢,例如我想查询,表名为“outlist",日期时间字段为”optime",时间段为2015.1.21 00:00:00至2015.1.31 12:00:00。
在sqlserver数据库中直接查询

直接在数据库中查询,语句应该如何写?

查询分析器里查询

追答

单纯的查询?很简单啊
SELECT * from outlist
WHERE optime>'2015.1.21 00:00:00' and optime<'2015.1.31 12:00:00'

追问

间隔两小时的数据量没有体现

追答

你这样的表达实在不明白你要做什么。

SELECT CONVERT(varchar(13), optime, 120 ),count(*) from outlist
WHERE optime>'2015.1.21 00:00:00' and optime<'2015.1.31 12:00:00'
group by CONVERT(varchar(13), dd, 120 )

这条查询语句可以把你现有数据表中2015.1.21 00:00:00' 到'2015.1.31 12:00:00'
的数据,按照小时来分组统计数量,看看是不是你需要的

参考技术B 给你说思路,
你这直接
建立个作业不就好了,,,
写个过程,在一段时间内插入数据
然后你的间隔2小时,在作业里就能实现,,,
如果非要在过程实现,可以用
WAITFOR DELAY '02:00' (间隔2小时)追问

初学者,可以具体点么,谢谢,例如我想查询,表名为“outlist",日期时间字段为”optime",时间段为2015.1.21 00:00:00至2015.1.31 12:00:00。

追答

你是sqlserver数据库,还是什么数据库

追问

在sqlserver数据库中直接查询

追答

首先建立个过程
create proc test_sp
as
begin
set nocount on
insert into 表2(xxxx)
select xxxx
from 表1
where optime between ‘2015.1.21 00:00:00’ and ‘2015.1.31 12:00:00’
set nocount off
end

然后, (部知道你会不会建立作业,,,给你发个链接吧,,)
建立作业的如下:

http://jingyan.baidu.com/article/49ad8bce7287315834d8fab4.html
这是最简单的方式了

SQL 查询以获取每年表现最佳的统计数据(例如 3 个指针)

【中文标题】SQL 查询以获取每年表现最佳的统计数据(例如 3 个指针)【英文标题】:SQL query to get top performer statistics per year (eg 3 pointers) 【发布时间】:2021-01-29 19:39:34 【问题描述】:

我有一张表格,里面有每年的球员和一些统计数据。 例如(player_key、player_name、year、3point_trials、3point_score)

我希望获得每年表现最好的输出(3point_score/3point_trials)。如果其中两个具有相同的 %,则盈亏平衡点是 3point_trials,谁的试验次数最多。

每年的产量

Name, Year, %score, trials
Player1 2000 55 1200
Player2 2001 61 1001
Player1 2002 54 978
Player6 2003 63 1034
Player5 2004 59 1132
.....

此输出的 SQL 查询是什么?

【问题讨论】:

【参考方案1】:

我会推荐窗口函数:

select p.*
from (
    select p.*, 100.0 * 3point_score / 3point_trials score_percent,
        rank() over(partition by year order by 100.0 * 3point_score / 3point_trials desc, 3point_trials desc) rn
    from players p
) p
where rn = 1
order by year, rn

【讨论】:

@Serg:对!这 3 指针的事情让我很烦。 有效!有没有更简单的方法,只使用简单的函数,比如 group by、order by 和 limit?

以上是关于求SQL语句,统计一张表格中,某一时间段,例如连续10天,每间隔2小时,该表中增加的记录条数。的主要内容,如果未能解决你的问题,请参考以下文章

Sql Server 如何按每个月自动生成一张表,求大师指点一下下

sql求平均值

SQL语句如何在多表中计算平均值

SQL统计本日的更新数量

求sql语句 统计

怎么用SQL语句查数据库中某一列是不是有重复项