❶ 在sql中有日數據,怎樣求每月平均值
----------建立表--------
create table student (
時間 datetime not null,
姓名 char(4) not null,
成績 int not null
)
---------插入數據,這里2個學生TOM,Jim,月份為1,2月-----
insert into student values('2008-1-1','Jim',89)
insert into student values('2008-1-2','Jim',50)
insert into student values('2008-1-3','Jim',70)
insert into student values('2008-1-4','Jim',99)
insert into student values('2008-1-5','Jim',68)
insert into student values('2008-2-1','Jim',55)
insert into student values('2008-2-2','Jim',60)
insert into student values('2008-2-3','Jim',70)
insert into student values('2008-2-4','Jim',80)
insert into student values('2008-2-5','Jim',88)
insert into student values('2008-1-1','Tom',70)
insert into student values('2008-1-2','Tom',50)
insert into student values('2008-1-3','Tom',70)
insert into student values('2008-1-4','Tom',99)
insert into student values('2008-1-5','Tom',68)
insert into student values('2008-2-1','Tom',55)
insert into student values('2008-2-2','Tom',60)
insert into student values('2008-2-3','Tom',70)
insert into student values('2008-2-4','Tom',80)
insert into student values('2008-2-5','Tom',88)
--時間每個月就取了5天,後面道理一樣
select 姓名,datepart(month,時間) as 月, sum(成績)/count(時間) as 平均成績 from student group by datepart(month,時間),姓名
這里:datepart(month,時間) 是獲取月份
sum(成績)求得總成績
count(distinct 時間)獲取天數,這個地方你不是說日數據都有嘛,直接這樣得到按月查詢出的總天數.也就是一個月的天數,但是必須每天都有數據.
group by datepart(month,時間),姓名 按月,姓名,進行查詢顯示.
有什麼不懂的你補充出來.
************
我這樣寫的:datepart(month,rq) as "月"對嗎?
當然對啊,month就是月,day是天,year是年.你這的 "月" 不要引號吧.還有就是RQ,必須是字元串形式.
比如插入的時候,時間要加單引號. '2008-05-04'
❷ SQL語句求平均值,急求!!!
有平均值函數的avg(a1+a2+a3)
❸ 如何在SQL Server計算列和平均值
select
sum(列1)合計
,avg(列1)平均值
from
表名
列1必須是數字列
❹ 怎樣編寫SQL語句求平均成績
1、打開資料庫軟體,附加資料庫,右鍵選擇新建查詢。
❺ SQl中怎麼求一行數據的平均數
update ex set 總分=語文+數學, 平均分=(語文+數學)/2
但你這個表結構設計得不太合理,因為學科被固定了,無法增刪改,成績表應該設計成
姓名 學科 分數
張三 語文 6
張三 數學 5
李四 語文 7
李四 數學 6
而且不需要把總分與平均分存到表裡,這既是冗餘信息,也不利分數修改。
要取總分與平均分時只要 select 姓名,sum(分數) 總分, avg(分數) 平均分 from ex group by 姓名
另外,系統想要擴展,還應該建立學科表、學生表
❻ SQL求總分及平均值
SQL求總分及平均值的方法。
如下參考:
1.打開資料庫軟體,添加資料庫,右鍵點擊並選擇新查詢。