当前位置:首页 » 编程语言 » 统计sql

统计sql

发布时间: 2022-01-07 23:39:14

1. sql统计语句有哪些

sql语言诞生有一段时间了,里面有一些自带的很方便的函数,对于操作数据库来说是非常方便的,下面就介绍几种统计。

2. SQL语句 查询 统计

这几个表里有哪几个列要告诉我们呀!
hotyxm - 高级魔法师 六级 最后一个题目好像有误.应该是:
select 学生姓名,count(课程编号) from 选课表 group by 学生号having count(课程编号)>=4;

不过你还是要把这几个表详细说下才好,上面这个SQL语句是跟据一般可能有和列和表来写的.
hotyxm - 高级魔法师 六级的回答可能还有其它错误.我没细看.但好像他就是从学生表里来查东西,一个表怎么能有那么多东西,会出异常的.

你不详细说明一下有哪些表和哪些列,我也不好跟你写.

3. sql语句统计查询结果数量怎么写

可以通过count函数来实现。

sqlOne:select * from tablename1 where id>5;此语句查询出来多条记录,之后看做一个新的表。

sqlTwo:select conut(*) from (select * from tablename1 where id>5) as tablename2;此语句即可查询出来统计的记录条数。

备注:以上方法通用于所有的数据统计,如果是单表查询,可以直接通过:“select count( *) from tablename1 where id>5"的形式查询出结果。

4. SQL 统计数量

--表A和表B分开来统计,最后合并两个统计结果
时间在一个范围内用 时间A between '时间1' and '时间2'
由于不是很明白你的分组统计原则,所以group by语句暂时无法提供建议

5. SQL怎么统计个数

不同数据库的系统表可能不一样,比如informix就是systables

tabname。
informix数据库:
统计个数:
select
count(*)
from
systables
where
tabname
like
'%abc%'
查看表:
select
tabname
from
systables
where
tabname
like
'%abc%'
其他数据库的话,系统表可能是sysobjects,对应的列可能也有不同,看你的情况改吧。

6. sql统计查询

如果只有这3个固定日期.可以教你一个简单行转列的方法。
但如果日期是随机的,那就要用到动态SQL了.

先写出简单的来.
SELECT name,
SUM(CASE WHEN date = '2008-1-12' THEN 1 ELSE 0 END) as 2008-1-12,
SUM(CASE WHEN date = '2008-1-13' THEN 1 ELSE 0 END) as 2008-1-13,
SUM(CASE WHEN date = '2008-1-16' THEN 1 ELSE 0 END) as 2008-1-16
FROM tablename GROUP BY name

下面是按照上面例子中写出的动态SQL语句.

CREATE TABLE tba
(
id int,
date datetime,
name varchar(10)
)
GO

INSERT INTO tba
SELECT 1,'2008-1-12', 'a' union all
SELECT 2,'2008-1-12', 'b' union all
SELECT 3,'2008-1-13', 'a' union all
SELECT 4,'2008-1-13', 'a' union all
SELECT 5,'2008-1-16', 'b'

CREATE TABLE #tmp
(
id INT IDENTITY(1,1),
date datetime
)
DECLARE @strsql VARCHAR(8000)
DECLARE @id INT,@rowcount INT, @date datetime

INSERT INTO #tmp(date) SELECT CONVERT(VARCHAR(10),date,23) FROM tba GROUP BY CONVERT(VARCHAR(10),date,23)
SELECT @rowcount = @@RowCount,@id = 1
SELECT @strsql = 'SELECT name'
WHILE @id <= @rowcount
BEGIN
SELECT @date = date FROM #tmp WHERE id = @id
SELECT @strsql = @strsql + ',SUM(CASE date WHEN ''' + CONVERT(VARCHAR(10),@date,23) + ''' THEN 1 ELSE 0 END) as [' + CONVERT(VARCHAR(10),@date,23) + ']'
SELECT @id = @id + 1
END
SELECT @strsql = @strsql + ' FROM tba GROUP BY name'
EXEC(@strsql)
DROP TABLE #tmp
GO

7. sql 统计数量

select 学生表.学号, 选课数 into 选课数统计表 from 学生表 left join (select 学号, count(*) as 选课数 from 学生选课表 group by 学号) tmbdb on 学生表.学号=tmpdb.学号

8. sql统计数量

select 部门名称,count(id) as '员工人数 ' from A inner join B on B.a_id=A.id

9. SQL怎么统计个数

方法一:

SELECT SUM(正确数)+SUM(错误数) AS 总记录数,SUM(正确数),SUM(错误数)
FROM (
SELECT COUNT(1) 正确数,0 错误数
FROM TB
WHERE STATUS=1
UNION ALL
SELECT 0 正确数,COUNT(1) 错误数
FROM TB
WHERE STATUS=0) a

方法二:

select count(1)总记录数,sum(case when status=1 then 1 else 0 end)正确数,sum(case when status=0 then 1 else 0 end) 错误数 from T

热点内容
androidhyperv 发布:2024-12-26 16:25:15 浏览:701
袁弘超级访问 发布:2024-12-26 16:18:38 浏览:363
linux重命名文件 发布:2024-12-26 16:16:56 浏览:421
光遇安卓飞行机什么时候到来 发布:2024-12-26 16:11:06 浏览:955
存储空间分割 发布:2024-12-26 16:05:03 浏览:114
code编译运行是哪个 发布:2024-12-26 15:54:34 浏览:166
mybatis打印sql语句 发布:2024-12-26 15:53:55 浏览:756
腰椎压缩性骨折骨水泥 发布:2024-12-26 15:53:45 浏览:676
x洗牌算法 发布:2024-12-26 15:52:50 浏览:151
学习c语言要先学什么 发布:2024-12-26 15:51:35 浏览:803