为了账号安全,请及时绑定邮箱和手机立即绑定

求问一下在sql中count函数的使用?请问该怎么运用起来

求问一下在sql中count函数的使用?请问该怎么运用起来

萧十郎 2021-08-18 15:15:46
碰见一条SQL语句(存储过程中的)DECLARE @TempID intSELECT @TempID = count(1) FROM t_ChanalInfo WHERE [Ch] = @Ch我对这里面的count(1)不太明白,一般碰到的count都是写成count(*),哪位高手帮我讲一个这里面的1和*各代表什么
查看完整描述

3 回答

?
慕姐8265434

TA贡献1813条经验 获得超2个赞

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 输出结果如下:

SQL COUNT(DISTINCT column_name) 实例

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

实例

SELECT COUNT(DISTINCT site_id) AS nums FROM access_log;

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



查看完整回答
反对 回复 2021-08-23
?
HUH函数

TA贡献1836条经验 获得超4个赞

把select查询语句中的列选择部分换成count(*)或者count(列名)。那么查询语句就会返回select查询结果的数据有多少条。也就是带有count的查询,其返回结果就是一行一列的一个数字。
例如:
select
*
from
student
where
name
like
'张%';
//查询所有姓张的学生信息
select
count(*)
from
student
where
name
like
'张%'
//查询姓张的学生的人数
而count(列名)在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数。
select
count(en_score)
from
student
where
name
like
'张%'
//查询姓张的学生中有英语成绩的学生人数



查看完整回答
反对 回复 2021-08-23
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

select
*
from
people
where
peopleId
in
(select
peopleId
from
people
group
by
peopleId
having
count(peopleId)
>
1)
count中是找出peopleid有重复的行,是不是这样?
可以这么用,
也可以这样:重复记录
SELECT
*
FROM
people
WHERE
Id
!=(SELECT
MAX(Id
)
FROM
people
D
WHERE
people.peopleId
=D.peopleId);
ID是主键



查看完整回答
反对 回复 2021-08-23
  • 3 回答
  • 0 关注
  • 392 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信