相同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計算銀行存款月日均余額
不清楚最終數據格式,只談大概的思路,數據最好處理為月表,每月月末結算轉下月期初,利用月表計算每日日均,循環獲取每日日均數據,計算結果。