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

网站建设 李奥贝纳线上推广的方式有哪些

网站建设 李奥贝纳,线上推广的方式有哪些,亚洲tv,企业推广app大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目:1158. 市场分析二、解题1.错误示范①提交SQL运行结果2.正确示范①提交SQL运行结果3.错误示范②提交SQL运行结果4.正确示范②提交SQL运行结果5.其他总结前…

大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。

文章目录

  • 前言
  • 一、题目:1158. 市场分析
  • 二、解题
    • 1.错误示范①
      • 提交SQL
      • 运行结果
    • 2.正确示范①
      • 提交SQL
      • 运行结果
    • 3.错误示范②
      • 提交SQL
      • 运行结果
    • 4.正确示范②
      • 提交SQL
      • 运行结果
    • 5.其他
  • 总结


前言


一、题目:1158. 市场分析

Table: Users

+----------------+---------+
| Column Name    | Type    |
+----------------+---------+
| user_id        | int     |
| join_date      | date    |
| favorite_brand | varchar |
+----------------+---------+
此表主键是 user_id。
表中描述了购物网站的用户信息,用户可以在此网站上进行商品买卖。

Table: Orders

+---------------+---------+
| Column Name   | Type    |
+---------------+---------+
| order_id      | int     |
| order_date    | date    |
| item_id       | int     |
| buyer_id      | int     |
| seller_id     | int     |
+---------------+---------+
此表主键是 order_id。
外键是 item_id 和(buyer_id,seller_id)。

Table: Items

+---------------+---------+
| Column Name   | Type    |
+---------------+---------+
| item_id       | int     |
| item_brand    | varchar |
+---------------+---------+
此表主键是 item_id。

请写出一条SQL语句以查询每个用户的注册日期和在 2019 年作为买家的订单总数。

以 任意顺序 返回结果表。

查询结果格式如下。

示例 1:

输入:
Users 表:
+---------+------------+----------------+
| user_id | join_date  | favorite_brand |
+---------+------------+----------------+
| 1       | 2018-01-01 | Lenovo         |
| 2       | 2018-02-09 | Samsung        |
| 3       | 2018-01-19 | LG             |
| 4       | 2018-05-21 | HP             |
+---------+------------+----------------+
Orders 表:
+----------+------------+---------+----------+-----------+
| order_id | order_date | item_id | buyer_id | seller_id |
+----------+------------+---------+----------+-----------+
| 1        | 2019-08-01 | 4       | 1        | 2         |
| 2        | 2018-08-02 | 2       | 1        | 3         |
| 3        | 2019-08-03 | 3       | 2        | 3         |
| 4        | 2018-08-04 | 1       | 4        | 2         |
| 5        | 2018-08-04 | 1       | 3        | 4         |
| 6        | 2019-08-05 | 2       | 2        | 4         |
+----------+------------+---------+----------+-----------+
Items 表:
+---------+------------+
| item_id | item_brand |
+---------+------------+
| 1       | Samsung    |
| 2       | Lenovo     |
| 3       | LG         |
| 4       | HP         |
+---------+------------+
输出:
+-----------+------------+----------------+
| buyer_id  | join_date  | orders_in_2019 |
+-----------+------------+----------------+
| 1         | 2018-01-01 | 1              |
| 2         | 2018-02-09 | 2              |
| 3         | 2018-01-19 | 0              |
| 4         | 2018-05-21 | 0              |
+-----------+------------+----------------+

二、解题

1.错误示范①

提交SQL

select u1.user_id buyer_id,
u1.join_date,
count(1) orders_in_2019
from Users u1
left join Orders u2 
on u1.user_id=u2.buyer_id and substr(u2.order_date,1,4)='2019'
group by u1.user_id,u1.join_date

运行结果

2.正确示范①

提交SQL

select u1.user_id buyer_id,
u1.join_date,
count(u2.order_id) orders_in_2019
from Users u1
left join Orders u2 
on u1.user_id=u2.buyer_id and substr(u2.order_date,1,4)='2019'
group by u1.user_id,u1.join_date

运行结果

3.错误示范②

提交SQL

select u1.user_id buyer_id,
u1.join_date,
u2.num orders_in_2019
from Users u1
left join (select buyer_id,count(1) numfrom Orders where substr(order_date,1,4)='2019'group by buyer_id
) u2
on u1.user_id=u2.buyer_id

运行结果

4.正确示范②

提交SQL

select u1.user_id buyer_id,
u1.join_date,
ifnull(u2.num,0) orders_in_2019
from Users u1
left join (select buyer_id,count(1) numfrom Orders where substr(order_date,1,4)='2019'group by buyer_id
) u2
on u1.user_id=u2.buyer_id

或者

select u1.user_id buyer_id,
u1.join_date,
# ifnull(u2.num,0) orders_in_2019
case when u2.num is null then 0 else u2.num end as orders_in_2019
from Users u1
left join (select buyer_id,count(1) numfrom Orders where substr(order_date,1,4)='2019'group by buyer_id
) u2
on u1.user_id=u2.buyer_id

或者

select u1.user_id buyer_id,
u1.join_date,
ifnull(u2.num,0) orders_in_2019
from Users u1
left join (select buyer_id,count(1) numfrom Orders where year(order_date)='2019'group by buyer_id
) u2
on u1.user_id=u2.buyer_id

运行结果

5.其他


总结

错误示范①错在返回的无订单数是仍是1,应该把count(1)改为count(u2.order_id);
错误示范②错在返回的无订单数是null,应该把null转换成0;
知识点:
取2019年可以用substr(order_date,1,4)=‘2019’,也可以用year(order_date)=‘2019’;
将null转换成0可以用ifnull(u2.num,0),也可以用case when u2.num is null then 0 else u2.num end;
count(1)和count(指定字段)区别:
count(1) 会统计表中的所有的记录数,同count(*) ,包含字段为null 的记录。
count(指定字段) 会统计该字段在表中出现的次数,忽略字段为null 的情况。不统计字段为null 的记录。

http://www.pjxw.cn/news/26535.html

相关文章:

  • 2013年中央农村工作会议seo快速排名是什么
  • 哪个网站能在百度做推广安卓优化大师app下载
  • 一个域名可以做几个网站百度一下你就知道主页
  • 对省政府网站建设的发展有期待百度网盘搜索引擎入口
  • wordpress exp杭州seo推广排名稳定
  • 做内贸什么网站资源比较多阿里云搜索引擎
  • delphi网站开发教程seo专业论坛
  • wordpress user pro关键词优化工具有哪些
  • 网站关键词选择今日小说搜索百度风云榜
  • 0网站建设的好坏可以依据的标准有提高工作效率英语
  • 刚刚大连发生了大事重庆seo推广公司
  • 企业单位网站怎么做网络营销经典案例
  • 怎么做网站赚网络推广工作怎么样
  • 微信怎么做自己的网站中国产品网
  • 广东党员两学一做考试网站网时代教育培训机构怎么样
  • 长沙市最新防疫政策网站优化网
  • 有哪些网站可以学做糕点的软文外链购买平台
  • 做vi网站企业网站seo诊断工具
  • 网站栏目页如何做浏阳廖主任打人案
  • 网站域名解析登陆百度电脑版官网下载
  • 做设计的一般用什么网站找素材网络销售的方法和技巧
  • 秦皇岛建委网站民宿平台搜索量上涨
  • 上海网站备案人工服务器360站长
  • 做个电商网站需要怎么做杭州小程序建设公司
  • 运城可以做网站的公司seo推广教学
  • 怎么做赛事直播网站阿里指数官网
  • 佛山微信网站建设多少钱今天最新的新闻头条新闻
  • seo网站推广有哪些网站关键词搜索
  • 凡科建设网站图片怎么删除长沙百家号seo
  • 政府类wap网站建设方案windows7优化大师官方下载