当前位置:首页 » 存储配置 » 存储过程count

存储过程count

发布时间: 2022-12-22 13:05:27

⑴ 创建一个存储过程proc_count ,能够统计男教师,女教师的人数,并返回男教师,女教师人数。

CREATE PROCEDURE P1(@M INT OUTPUT,@W INT OUTPUT) AS
SELECT @M=COUNT(CASE WHEN 性别='男' THEN 1 END),@W=COUNT(CASE WHEN 性别='女' THEN 1 END) FROM 教师表
GO

调用方法:
DECLARE @M INT,@W INT
EXEC P1 @M OUTPUT,@W OUTPUT
SELECT @M AS 男教师人数,@W AS 女教师人数

⑵ mysql 数据库中有一张 交易记录表,存储过程中想通过count函数查出30天内的交易数、60天的交易数

可直接用嵌套查询。

方法如下:
如数据:
id name
1 a
1 b
2 c
2 d
3 e
3 f
3 g
3 h

select count(t.counts) from
(select id,count(*) counts from 表名 group by id) t

这样得到的结果就是3。

⑶ 用SQL语言,写出.创建存储过程EmpCount,它的功能是根据给定的部门名称统计该部门的员工人数。

GO
create procere EmpCount
@DepartName varchar(50),

@EmpPersons int out

as

select @EmpPersons=count(*) from 员工表 where 部门名称=@DepartName
GO
条件给的太笼统,自己改改吧!!

⑷ 怎么在存储过程中把 select count from tb1的返回值赋给变量

int count=Convert.Toint32(cmd.ExecuteScalar());
cmd.executescalar()得到的结果是数据表的第一行第一列的数据,
其结果是object类型的,需要强制转换为int类型。

⑸ 存储过程怎么用在什么情况下要用到存储过程

举个例子吧,用户登录模块:先创建存储过程CREATE PROCEDURE Prc_Ad_Login @AdName varchar(32), @AdPwd nchar(32), @Count int output, @Err varchar(64) output ASif exists(select intsuid from sysuser where varsuname=@AdName)begindeclare @suid int declare @dteErrs datetime declare @npwd nchar(32) declare @Lock bit declare @intErr int declare @Errpart int declare @ErrCount int select @suid=intsuid, @dteErrs=dteErr,@intErr=intErrCount,@npwd=narsupwd,@lock=bitLock from sysuser where varsuname=@Adname select @ErrCount=intsuerrcount,@Errpart=intsuerrminute from sysbasic if(@npwd=@Adpwd)beginif(@Lock=1)beginselect @Count=2 select @Count=0endendelsebeginif(@Lock=0)beginif(datediff(n,@dteErrs,getdate())<@Errpart)beginif(@intErr<@ErrCount)beginupdate sysuser set intErrCount=intErrCount+1,dteErr=getdate() where intsuid=@suid if(@intErr=(@ErrCount-1))beginselect @Count=4 select @Err='登录错误过多,你的帐号被系统暂时锁定!'endelsebeginselect @Count=1 select @Err='用户名或密码错误!'endendelsebeginupdate sysuser set dteErr=getdate() where intsuid=@suid select @Count=3 select @Err='你的帐号在一定时间内不允许登录!'endendelsebeginupdate sysuser set dteErr=getdate(),intErrCount=1 where intsuid=@suid select @Count=1

⑹ SQL 存储过程 count()计算相同id的行数,然后用sum如何把相同id的行数相加

再套一层
select sum(c1) from (
select count (*) c1 from [caigoujinhuodetail(采购进货详细)]
group by [caigoujinhuodetail(采购进货详细)].spdm,[caigoujinhuodetail(采购进货详细)].spggdm
) a

⑺ sql中count函数的使用

COUNT() 函数返回匹配指定条件的行数。

SQL COUNT(column_name) 语法

COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入):

SELECT COUNT(column_name) FROM table_name;

SQL COUNT(*) 语法

COUNT(*) 函数返回表中的记录数:

SELECT COUNT(*) FROM table_name;

SQL COUNT(DISTINCT column_name) 语法

COUNT(DISTINCT column_name) 函数返回指定列的不同值的数目:

SELECT COUNT(DISTINCT column_name) FROM table_name;

注释:COUNT(DISTINCT) 适用于 ORACLE 和 Microsoft SQL Server,但是无法用于 Microsoft Access。

SQL COUNT(column_name) 实例

下面的 SQL 语句计算 "access_log" 表中 "site_id"=3 的总访问量:

实例

SELECT COUNT(count) AS nums FROM access_log
WHERE site_id=3;

SQL COUNT(*) 实例

下面的 SQL 语句计算 "access_log" 表中总记录数:

实例

SELECT COUNT(*) AS nums FROM access_log;

执行以上 SQL 输出结果如下:

⑻ 存储过程查询select count(*)from table返回的是bool类型的怎么回事

1. 别名 不应该 用 单引号括起来, 应该是 :

SELECT COUNT(*) sums
FROM [pos].[参数_黑名单_区域] WHERE 1=1

2. 存储过程应该有用 out 参数进行 数据返回才对。

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:600
制作脚本网站 发布:2025-10-20 08:17:34 浏览:892
python中的init方法 发布:2025-10-20 08:17:33 浏览:585
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:769
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:689
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1016
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:261
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:119
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:809
python股票数据获取 发布:2025-10-20 07:39:44 浏览:718