十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
创建存储过程:
创新互联是专业的秭归网站建设公司,秭归接单;提供做网站、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行秭归网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
CREATE PROCEDURE [dbo].[sys_viewTableSpace]
AS
BEGIN
SET NOCOUNT ON;
CREATE TABLE [dbo].#tableinfo(
表名 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
记录数 [int] NULL,
预留空间 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
使用空间 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
索引占用空间 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
未用空间 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL
)
insert into #tableinfo(表名, 记录数, 预留空间, 使用空间, 索引占用空间, 未用空间)
exec sp_MSforeachtable "exec sp_spaceused '?'"
select * from #tableinfo
order by 记录数 desc
drop table #tableinfo
END
使用的时候直接 :exec sys_viewtablespace
sql中在where字句里截取字符方法如下:
1、如果是sqlserver:where left(p.end_time,4) = '2012'。
2、如果是Oracle:where substr(p.end_time,0,4) = '2012'。
举例:
1、oracle: 'where substr(字段名,1,2)='''123''''
2、sqlserver: 'where substring(字段名,1,2)='''123''''
扩展资料:
sql中,常用函数介绍:
1、AVG():返回平均值
2、COUNT():返回行数
3、FIRST():返回第一个记录的值
4、LAST():返回最后一个记录的值
5、MAX():返回最大值
6、MIN():返回最小值
7、SUM():返回总和
8、UCASE():将某个字段转换为大写
9、LCASE():将某个字段转换为小写
10、MID():从某个文本字段提取字符
11、LEN():返回某个文本字段的长度
12、ROUND():对某个数值字段进行指定小数位数的四舍五入
13、NOW():返回当前的系统日期和时间
14、FORMAT():格式化某个字段的显示方式
15、INSTR():返回在某个文本域中指定字符的数值位置
16、LEFT():返回某个被请求的文本域的左侧部分
17、RIGHT():返回某个被请求的文本域的右侧部分
参考资料来源:百度百科-SQL函数
可以这样写啊
SELECT AVG(shuxue),AVG(yingyu),AVG(yuwen) FROM user_info
GO
就行了~
select convert(varchar,time,23),datepart(hh,time),avg(valueavg),max(valueavg)
from tb group by convert(varchar,time,23),datepart(hh,time)
--已出结果 SQLSERVER2000
--生成测试数据
CREATE TABLE TestA
(
a int,
b int,
c int,
time datetime
)
INSERT INTO TestA
SELECT 12,13,45,'2009-6-9 10:59:26'
UNION ALL
SELECT 11,41,43,'2009-6-9 10:59:30'
UNION ALL
SELECT 10,75,742,'2009-6-9 11:00:40'
UNION ALL
SELECT 78,72,56,'2009-6-9 11:30:50'
UNION ALL
SELECT 52,11,55,'2009-6-9 12:00:42'
UNION ALL
SELECT 11,41,43,'2009-6-9 12:59:30'
--查询结果
SELECT A*1.0/FCount AS A平均值,B*1.0/FCount AS B平均值,C*1.0/FCount AS C平均值,Time
FROM(
SELECT SUM(a)AS A,SUM(b)AS B,SUM(c)AS C,
CONVERT(char(10),time,121)+' '+LTRIM(DATEPART(hour,time))+':00:00' AS Time,COUNT(*)AS FCount
FROM TestA
GROUP BY CONVERT(char(10),time,121),DATEPART(hour,time)
)AS T
--SELECT 1/2 =0 SELECT 1./2 =0.5 SELECT 1.0/2=0.5
select sum(求和栏位),sum(求和栏位)/count(*) --总和,平均值
from 表名