相同IP算访问几次?
方法1:
统计每天的访问量
select convert(char(10),times,120) DATE,count( IPS) IP_COUNT
from TB group by convert(char(10),times,120)
然后再求日均访问量:
select avg(IP_COUNT) AVG_COUNT_PER_DAY from(
select convert(char(10),times,120) DATE,count(distinct IPS) IP_COUNT
from TB group by convert(char(10),times,120))
方法二:分别累计IP数与天数相除:
select count( IPS)*1.0/count(distinct convert(char(10),times,120)) from tb
如果下同IP算1次得话,只要在IPS前加distinct即可。
㈡ sql语言如何查寻日均出入次数
用group by having可以达到你的要求
按照日期和人名分组,找出count大于1的。
具体语句,建议题主自己联系下,难度不大,有助于记忆。
祝好运,望采纳。
㈢ sql问题.求2月1日至2月10存款日均余额
CREATE TABLE [交易明细表] (
[姓名] VARCHAR(10),
[交易收方] INT,
[交易支方] INT,
[交易日期] DATETIME
);
go
INSERT INTO [交易明细表]
SELECT '张三', 200, NULL, '2011-02-05' UNION ALL
SELECT '张三', NULL, 100, '2011-02-10' UNION ALL
SELECT '张三', NULL, 300, '2011-02-12'
GO
WITH
dateCTE
AS(
SELECT
DATEADD(dd, number, '2011-02-01' ) AS myDate
FROM
master..spt_values
WHERE
type='P'
AND DATEADD(dd, number, '2011-02-01' ) <= '2011-02-10'
)
SELECT
Convert(VARCHAR(10), dateCTE.myDate, 111) AS 日期,
ISNULL(SUM([交易收方]), 0)
- ISNULL(SUM([交易支方]), 0) AS [余额]
FROM
dateCTE LEFT JOIN [交易明细表]
ON (dateCTE.myDate >= [交易明细表].[交易日期])
GROUP BY
dateCTE.myDate;
go
日期 余额
---------- -----------
2011/02/01 0
2011/02/02 0
2011/02/03 0
2011/02/04 0
2011/02/05 200
2011/02/06 200
2011/02/07 200
2011/02/08 200
2011/02/09 200
2011/02/10 100
能计算出了每日余额,日均的应该没有什么问题了吧?
WITH
dateCTE
AS(
SELECT
DATEADD(dd, number, '2011-02-01' ) AS myDate
FROM
master..spt_values
WHERE
type='P'
AND DATEADD(dd, number, '2011-02-01' ) <= '2011-02-10'
),
everyDateCTE
AS(
SELECT
Convert(VARCHAR(10), dateCTE.myDate, 111) AS 日期,
ISNULL(SUM([交易收方]), 0)
- ISNULL(SUM([交易支方]), 0) AS [余额]
FROM
dateCTE LEFT JOIN [交易明细表]
ON (dateCTE.myDate >= [交易明细表].[交易日期])
GROUP BY
dateCTE.myDate
)
SELECT
AVG ([余额]) AS [日均余额]
FROM
everyDateCTE
GO
日均余额
-----------
110
不知道上面的计算结果,对是不对?
仅仅为了演示,表里面也只有1个用户的数据,所以那个 姓名 的条件,就不加了。
㈣ sql怎么算每一天近几天的平均值
关联查询,表与自身做关联,假设别名分别是a和b,条件是a表中时间在b表中时间的近几天区间内,然后以a表的时间和b表的avg作为查询字段,最后加一个group by a表的时间即可。
㈤ 请教SQL高手,怎么做到用 SUM 统计当前月份的每日的平均销售额 谢谢啦!
是不是统计本月开始,截止到目前的总销售额除以这个月1号到今天的天数算出来的平均销售额?
select sum(销售额)/(datediff(d,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) ,getdate()) + 1)
from 表
where 销售日期 between DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) and getdate()
其中sum(销售额) 是获取从1号开始到今天本月的销售额汇总
而DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) 是获取本月第一天
datediff(d,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) ,getdate()) + 1得到本月到今天的总天数
㈥ 在 SQL 数据库中如何查询不相连日期的3日平均值SQL查询语句如何写
先汇总每个日期的总量sum(动态)与行数count(编码),并计算上/下一天日期,保存为临时表#b
对t进行两次inner join 关联,用当天=前天 and 当天=下天,过滤掉下天和上天为NULL的行,作为子查询t.
对t再次select,计算平均值
--------
一般来说平均值的计算不应当是avg(date1)+avg(date2)+avg(data3)
而是avg(sum(data1)+sum(data2)+sum(data3)),当然你确定需求如此也行.
㈦ 查询每个员工10月的日平均销售额的SQL语句,提示单行子查询输出多行!大神给看看
g.员工编号=(select(销售额) from salesgrade) 这边右边select查出的结果是多个,和左边不对应
㈧ sql查询语句问题,累计日均查询
sql server 代码:
select
case
whensubstring(CONVERT(varchar(12),day_monitor_date,112),7,2)='01'then
sum(d_finish)/cast(substring(CONVERT(varchar(12),getdate(),112),7,2)asint)
else
(
selectsum(d_finish)fromtable_namewhereday_monitor_date<=t1.day_monitor_date)
/
cast(substring(CONVERT(varchar(12),day_monitor_date,112),7,2)asint)
end
fromtable_namet1orderbyday_monitor_date;
㈨ SQL语句,怎样可以实现比如每日均值的查询
SELECT
时间,
AVG(体温)
FROM
表
WHERE
时间>起始时间
and
时间
<截至时间
AND
姓名
in
('李四','张三')
GROUP
BY
时间
ORDER
BY
时间
其中
姓名
in
('李四','张三')
对于复杂的筛选
可以用姓名
in
(select
姓名
from
表
where
删选条件)
来实现
㈩ sql计算银行存款月日均余额
不清楚最终数据格式,只谈大概的思路,数据最好处理为月表,每月月末结算转下月期初,利用月表计算每日日均,循环获取每日日均数据,计算结果。