sql 语句 count 使用请教
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 参考技术A
过多繁琐的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
参考技术B 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
参考技术C 下面的几条语句完成向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 参考技术D 过分发图服服帖帖让他人与人
sql 语句中的DISTINCT以及在count中的使用
district必须放在所有字段全面:
SELECT DISTINCT student,class FROM courses
单字段时按照字段筛选,多字段是以所有字段的值作为key来筛选。
SELECT class,COUNT(DISTINCT student,class) as c FROM courses GROUP BY class
在count中的使用也是一样。相当于先通过 select district 出来后再进行count。
以上是关于sql 语句 count 使用请教的主要内容,如果未能解决你的问题,请参考以下文章
请教数据库高手,在access2003里,用sql语句查询实现两表关联查询用count更新其中一表?
关于Oracle的SQL语句中group by的空值问题请教?
[SQL] 请教一下 count里面有case when 一般情况下啥时候用