sql 语句 count 使用请教

如果查询stuinfo表里男生的数据,可以写成
select count(*) as 人数 from stuinfo where sex='男'
但是,我想不使用where条件,把条件写到count的选项里面
类似这样:
select count(--性别是'男'的数据) from suinfo
可不可以实现呢,谢谢了

可以这样写
select sum(iif(sex='男',1,0)) as 人数 from stuinfo
也可以用case when
select sum(case sex when '男' then 1 else 0 end)) as 人数 from stuinfo
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-04-26

过多繁琐的sql影响代码质量,及维护成本,以下为两种小技巧处理方式,仅供参考。

第一种,用case ---when---方法

select id

,sum(case when type in (1,2) then [count] else 0 end) as sum1

,sum(case when type in (3) then [count] else 0 end) as sum2

,sum(case when type in (4,5) then [count] else 0 end) as sum3

from 表名

group by id

第二种,if 判断

SELECT   SUM( goods_amount ) AS money,   

count( * ) AS num,  

count(if(pay_status=1,true,null)) AS success,   

count(if(pay_status=2,true,null)) AS fall   

FROM `tab_order_info`     

WHERE user_id = 11 

本回答被网友采纳
第2个回答  2011-01-14
SQL COUNT() 语法
SQL COUNT(column_name) 语法
COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入):

SELECT COUNT(column_name) FROM table_nameSQL COUNT(*) 语法
COUNT(*) 函数返回表中的记录数:

SELECT COUNT(*) FROM table_nameSQL COUNT(DISTINCT column_name) 语法
COUNT(DISTINCT column_name) 函数返回指定列的不同值的数目:

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

count()的三种语法中,没有可以满足你的条件的,唯一的方法就是使用where,就是你列出的那种
使用COUNT(DISTINCT column_name)语法的话,你的返回值应该是2...

参考资料:http://www.w3school.com.cn/sql/sql_func_count.asp

第3个回答  2011-01-14
下面的几条语句完成向A表插入10000条C=1,D=2,E=3的记录:
DECLARE @C INT,@D INT,@E INT,@COUNT INT
SELECT @C=1,@D=2,@E=3,@COUNT=10000
WHILE @COUNT>0
BEGIN
insert into A表(C,D,E) VALUES(@C,@D,@E)
SET @COUNT=@COUNT-1
END
第4个回答  2020-03-18
过分发图服服帖帖让他人与人

sql语句中count函数怎么用??
COUNT函数是SQL中的一个聚合函数,用于计算表中行的数量或者某列中非NULL值的数量。其基本语法为`COUNT`或`COUNT`。其中,`COUNT`计算所有行,包括包含NULL值的行,而`COUNT`只计算指定列中非NULL值的数量。例如,如果你想统计一个名为"employees"的表中所有记录的数量,可以使用以下语句:sql SELECT CO...

sql语句count(1)怎么使用?
select count(1) from 表名 语句统计的是 表中第一列 不为null的合计数 如果要统计所有就用 select count(*) from 表名

sql 语句中count函数怎么用??
在SQL查询语句中,count函数是一个非常实用的统计工具。它的基本用法是将select语句中的列选择部分替换为count(*)或count(列名)。当你使用count(*)时,查询结果将返回满足条件的记录总数,无论列值是否为空。例如,要查询所有姓张的学生人数,可以这样写:SELECT COUNT(*) FROM student WHERE name LIKE...

SQL语言学习之COUNT()函数详解
COUNT()是SQL的聚合函数,其基本语法是针对列名、常量或表达式来计算满足条件的行数。例如,COUNT(*)会统计表中的所有行。在基本用法中,如在名为students的表中计算总学生数,可以这样操作:通过这种方式,可以轻松获取到学生的总数。COUNT()函数也可与SQL查询结合使用,满足特定条件。例如,查询课程编号...

sql语句count怎么使用?
第一种,用case ---when---方法 select id ,sum(case when type in (1,2) then [count] else 0 end) as sum1 ,sum(case when type in (3) then [count] else 0 end) as sum2 ,sum(case when type in (4,5) then [count] else 0 end) as sum3 from 表名 group by id ...

sql 语句 count 使用请教
可以这样写 select sum(iif(sex='男',1,0)) as 人数 from stuinfo 也可以用case when select sum(case sex when '男' then 1 else 0 end)) as 人数 from stuinfo

求教SQL COUNT语句用法
1、全部计数:SELECT COUNT(0) FROM 2、条件计数:SELECT COUNT(0) FROM WHERE = <value> 3、分组计数:SELECT , , COUNT(0) FROM GROUP BY ,

sql 语句中count函数怎么用??
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 语句计算...

sql的count语句
SQL中的COUNT语句主要用于统计表中的记录数量。这是一个聚合函数,意味着它会返回基于一组值的单一值。当与特定的列一起使用时,COUNT可以计算该列中非NULL值的数量。2. COUNT语句的使用方法:COUNT语句的基本语法是`SELECT COUNT FROM table_name`。其中,`column_name`是你想计数的列的名称,`table_...

请教sql 中 count 的用法
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...

相似回答