if null,相除算比例,count

一、ifnull 函数:

IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。

例1 :if null 函数的使用:

在这里插入图片描述

select name from customer 
where ifnull (referee_id,0) != 2;

因为如果直接用where referee_id !=2 的话,null值也不会查询到,所以用if null ,先把空值定义为0,在使用查询

例题2 : if null 和表示相除

在这里插入图片描述

二、怎么表示两个相除

select round(
    ifnull(
    (select count(distinct requester_id ,accepter_id) from request_accepted) / 
    (select count(distinct sender_id ,send_to_id) from friend_request)
    ,0)
    ,2) as accept_rate ;

注意:select count (distinct requester_id,accepter_id ) from request_accepted =
select count(*) from (select distinct sender_id, send_to_id from friend_request)

两个都返回的是不同requester_id的表行数

count 的用法

扫描二维码关注公众号,回复: 9899710 查看本文章

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

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

发布了4 篇原创文章 · 获赞 0 · 访问量 44

猜你喜欢

转载自blog.csdn.net/meira_go/article/details/104882078