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

SQL50+Hot100系列(11.9)

一 SQL

1 1581 进店却从未进行交易过的顾客

题目描述

题目案例

思路分析:

我们先去使用外连接去看看关联后的表格式,从而对后续操作进行改进

select *
from Visits v
left join Transactions t on v.visit_id = t.visit_id

分析输出的结果,我们需要获取的就是这些transaction_id为null的,因为其是光看不买的那些,那就加上条件筛选呗,where transaction_id is null,然后结果如下

select *
from Visits v
left join Transactions t on v.visit_id = t.visit_id
where transaction_id is null

这样的话再对这个customer_id进行分组,分完组之后对组内的数据进行一个统计即可

这就是最终的代码

select v.customer_id,count(*) as count_no_trans
from Visits v
left join Transactions t on v.visit_id = t.visit_id
where transaction_id is null
group by v.customer_id

我再嘎巴一运行-击败百分之81.

2 1068 产品销售分析

题目描述

题目案例

思路分析

这题就是一个简单的外连接使用,使用过程当中对题目的分析可以一步一步的去实现最终的结果。

代码展示

select p.product_name,s.year,s.price
from Sales s 
left join Product p on s.product_id = p.product_id

二 算法

1 283移动零

题目描述

思路分析

这题呢,题目要求不能去进行数组的复制,那直接不就说出来怎么去实现了吗,交换元素。

但是如何交换,才能保证达到最终的结果,如何交换才能效率较高,这才是本题的考察点。

首先呢,我是去自定义了一个swap交换函数

然后定义了指针变量,left,right.以及最后的位置索引值n

初始时,left与right都是默认为0,举个例子,当初始数组为 1,2,0,0,5

那么初始时两个为0,会去判断nums[right]是不是0不是的话就会将right++,left++,将两个指针都向后移动,因为两个位置相同,所以说交换对数据没有影响,两个指针向后进行移动,移动到元素值为0的位置那么left就不动了让right向后走,找到不为0的,然后嘎巴将两个一交换,就这样持续操作,最终达到想要的效果。

代码展示

class Solution {public void moveZeroes(int[] nums) {int n = nums.length,left = 0,right = 0;while(right < n){if(nums[right]!=0){swapMethod(nums,left,right);left++;}right++;}}public void swapMethod(int[] nums,int left ,int right){int temp = nums[left];nums[left]=nums[right];nums[right]=temp;}
}

http://www.dtcms.com/a/588993.html

相关文章:

  • vue-router相关理解
  • 怎么做才能设计出好的网站网站充值这么做
  • Qt QWidget点击信号全解析:从基础交互到高级实战
  • 【Spark】操作记录
  • Vue 项目实战《尚医通》,医院详情菜单与子路由,笔记17
  • Kettle 小白入门指南:从A表到B表的数据清洗实战
  • 莱芜正规的企业建站公司东莞专业网站建设公司
  • 尝试性解读 Hopper 和 BlackWell 架构的硬件缓存一致性及其深远影响
  • 深入解析OpenHarmony USB DDK通信机制:从架构到实战
  • 1.8 分块矩阵
  • 2025年游戏手机市场发展趋势与硬件性能全面解析
  • 一般角度的旋转矩阵的推导
  • tomcat建网站个人域名申请的方法
  • 实训11 正则表达式
  • Electron 如何判断运行平台是鸿蒙系统(OpenHarmony)
  • C++ tuple 学习笔记(笔误请指出)
  • 蒙阴建设局网站衡水网站建
  • 服务器运维(十)SQLite3 配置指南——东方仙盟炼气期
  • 服务器运维(十一)SQLite3 php封装——东方仙盟炼气期
  • 【C++】多态(1):多态定义实现及虚函数的重写
  • Ascend C 算子开发模式全解析:从 Kernel 到工程化
  • 在 Unity 游戏开发中,为视频选择 VP8 还是 H.264
  • 【Java知识】OkHttp一款优秀的http客户端工具
  • 建设好网站为什么读取不到文件网站建设官网多少钱
  • 一个FPGA通加载不同程序实现4K edp和V-by-One
  • 脑科学图像处理软件
  • 【C语言实战(79)】深入C语言单元测试:基于CUnit框架的实战指南
  • 会小二也是做会议网站的小地方做外卖网站怎样
  • python+playwright自动化如何解决文件上传问题
  • Linux介绍及常用命令