sql语句count怎么使用?

sql语句count怎么使用?,第1张

过多繁琐的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

意思和count(*)或者count(column)是一样的

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

语法

(1). SQL COUNT(column_name) 语法

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

SELECT COUNT(column_name) FROM table_nameSQL

(2). COUNT(*) 语法

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

SELECT COUNT(*) FROM table_nameSQL

(3). 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 实例

现在,我们希望计算 "Orders" 表中不同客户的数目。

我们使用如下 SQL 语句:

SELECT COUNT(DISTINCT Customer) AS NumberOfCustomers FROM Orders结果集类似这样:

这是 "Orders" 表中不同客户(Bush, Carter 和 Adams)的数目。

a列有多少元素?你的意思应该是a列有多少个不同的元素吧?null算吗?如果null不算,那么count(distinct a)就可以。如果null算,那么就要先看看有没有null有的话就+1,具体的做法各个数据库写法上也会有所区别,这个就不写了。

如果要比较三张表,那么就需要交并补,那么就需要用到union等语句关联的写法,各个数据库也并不完全一致,根据数据库选择。

如元素要列出来,那么直接distinct a 这样就直接列出来了。

如果要知道每个元素的出现的次数,那么就需要分组count了,a count(a)group by a


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9251985.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存