当前位置: 首页 > wzjs >正文

做公众号好还是网站好公司官网制作开发

做公众号好还是网站好,公司官网制作开发,免费注册email邮箱,北京十佳网站建设LC1211 查询结果的质量和占比 知识点: 1.AVG函数的基础语法: SELECT AVG(column_name) FROM table_name [WHERE conditions]; 2.注意事项 avg函数的空值处理:若score列全为null , 则会返回 null值 -- 如果 score 列全为 NULL&…

LC1211 查询结果的质量和占比

知识点:

1.AVG函数的基础语法:

SELECT AVG(column_name) 
FROM table_name 
[WHERE conditions];

2.注意事项 avg函数的空值处理:若score列全为null , 则会返回 null值

-- 如果 score 列全为 NULL:
SELECT AVG(score) FROM students WHERE class = 'C';
-- 结果为 NULL

3. avg函数的高级用法 AVG后面跟一个条件

1. 原理:布尔值转数值​

  • 在 MySQL 中,条件表达式(如 rating < 3)的结果会被隐式转换为 ​​整数​​:

    • ​真(True)​​ → 转换为 1

    • ​假(False)​​ → 转换为 0

  • 因此,AVG(rating < 3) 实际上是在计算 ​​满足条件的行数占总行数的比例​​(即 1 的平均值)。

比如本题中:

要统计rating 小于 3 占的百分比 , 可以用avg(rating < 3)这样的布尔表达式 , 若条件成立 ,msql会自动将其转化为 1 , 相当于 rating < 3 的行都会认为是 1 , 再加起来 除以行数 , 就是占比了.

本题代码

select 
date_format(trans_date , '%Y-%m') as month ,
country , 
count(*) as trans_count ,
count(case when state = 'approved' then 1 end) as approved_count , 
sum(amount) as trans_total_amount ,
sum(case when state = 'approved' then amount else 0 end) as approved_total_amount
from Transactions
group by month , country
select 
date_format(trans_date , '%Y-%m') as month 


​1. 格式符定义​

​格式符​​含义​​示例​
%y​两位年份​​(00-99)2023 → 23
%Y​四位年份​​(0000-9999)2023 → 2023
%m​两位数字月份​​(01-12)12月 → 12
%M​月份英文全名​​(January-December)12月 → December

2.mysql中各关键词执行顺序

在SQL查询的执行过程中,通常的顺序是从FROM开始,然后是WHERE、GROUP BY、HAVING、SELECT、ORDER BY和LIMIT。

LC1174 即时食物配送

思路

1.先把每位顾客首次下单日期和id查出来 注意要group by 顾客id。作为子表

select customer_id , min(order_date) as first_date from Delivery group by customer_id  as first_orders

2.为了获取 顾客期望的配送日期 , 需要将查出来的子表和delivery表连接 ,连接条件为顾客id相同、下单日期一致。

select *
from Delivery d 
join 
(select customer_id , min(order_date) as first_date from Delivery group by customer_id ) as first_orders
on d.customer_id = first_orders.customer_id and d.order_date = first_orders.first_date

3.按照题意统计百分率即可。

本题知识点:join 和 left join

为什么本题left join 不行?(其实也可以 ,把 count (*) 换成 count(列名即可))

本质在于left join 和 join的逻辑。 join只会连接并返回两张表中满足连接条件的那些行 ,而left join则会完整的返回左表的所有内容 以及满足连接条件的行,不满足连接条件的会自动成为null值,

本题若使用 left join 链接后的结果就会出现许多null值 , 因为d.order_date = first_orders.first_date不满足的的行依然会被保留 , 只是左表不变,右表被替换成null值了

而count(*) 、 count(1)会数出所有的行数 , 而count(列名) 是遇到空行 就跳过

http://www.dtcms.com/wzjs/402453.html

相关文章:

  • 网站点内页还是首页快速seo整站优化排行
  • 小程序哪家开发最好seo是什么意思电商
  • 郑州大旗网站制作公司今日头条十大新闻
  • 企业建站套餐价格表杭州百度首页优化
  • 网站项目设计与制作综合实训seo智能优化公司
  • 台州网站建设选浙江华企宁波正规优化seo价格
  • 上海健康证查询网址淘宝优化关键词的步骤
  • 中国建设招标网网站企业qq多少钱一年
  • 现在可以做网站么互联网推广工作好做吗
  • 做施工的平台网站软件外包公司排行
  • 又一个 wordpress 站点线上推广费用预算
  • 百度做网站搜索靠前天津百度网络推广
  • 中国做美国酒店的网站成都seo达人
  • 菏泽网架公司湖南seo网站策划
  • 做网站备案需要哪些材料爱站网 关键词挖掘工具站
  • 中山专业做网站郑州官网网站推广优化
  • 工厂做网站有用吗seo是什么意思为什么要做seo
  • 赤峰网站策划seo网站推广培训
  • b2b行业网站综合影响力排名云优化seo软件
  • 滨海网站建设公司品牌营销策略四种类型
  • 医疗网站制作网站建设的流程是什么
  • 济宁专业网站建设提高工作效率心得体会
  • 网站头条怎么做成都网络推广运营公司
  • 海口专业网站建设地址东莞seo培训
  • 泰安人才市场最新招聘信息上海seo搜索优化
  • 网站ppt怎么做营销策略4p
  • 一个网站绑定两个域名网上营销的平台有哪些
  • 代刷网站系统怎么做今日新闻最新头条10条摘抄
  • 做网站时的注册权起到什么作用品牌宣传的推广
  • 西安未央区网站建设广州推广引流公司