• LeetCode--1445. 苹果和桔子


    1 题目描述

    表: Sales

    +---------------+---------+
    | Column Name   | Type    |
    +---------------+---------+
    | sale_date     | date    |
    | fruit         | enum    | 
    | sold_num      | int     | 
    +---------------+---------+
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    (sale_date, fruit) 是该表主键(具有唯一值的列的组合)。
    该表包含了每一天中"苹果" 和 "桔子"的销售情况。

    编写解决方案报告每一天 苹果 和 桔子 销售的数目的差异
    返回的结果表, 按照格式为 (‘YYYY-MM-DD’) 的 sale_date 排序

    2 测试用例

    输入:

    Sales 表:

    +------------+------------+-------------+
    | sale_date  | fruit      | sold_num    |
    +------------+------------+-------------+
    | 2020-05-01 | apples     | 10          |
    | 2020-05-01 | oranges    | 8           |
    | 2020-05-02 | apples     | 15          |
    | 2020-05-02 | oranges    | 15          |
    | 2020-05-03 | apples     | 20          |
    | 2020-05-03 | oranges    | 0           |
    | 2020-05-04 | apples     | 15          |
    | 2020-05-04 | oranges    | 16          |
    +------------+------------+-------------+
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    输出:

    +------------+--------------+
    | sale_date  | diff         |
    +------------+--------------+
    | 2020-05-01 | 2            |
    | 2020-05-02 | 0            |
    | 2020-05-03 | 20           |
    | 2020-05-04 | -1           |
    +------------+--------------+
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    解释:

    • 在 2020-05-01, 卖了 10 个苹果 和 8 个桔子 (差异为 10 - 8 = 2)
    • 在 2020-05-02, 卖了 15 个苹果 和 15 个桔子 (差异为 15 - 15 = 0)
    • 在 2020-05-03, 卖了 20 个苹果 和 0 个桔子 (差异为 20 - 0 = 20)
    • 在 2020-05-04, 卖了 15 个苹果 和 16 个桔子 (差异为 15 - 16 = -1)

    3 解题思路

    1. 按照 sale_date 分组计算差值,需要计算 applesoranges 的差值,可以将 fruit=orangessold_num 设置为负数,然后使用sum实现计算差值
    select sale_date, sum(if(fruit = 'apples', sold_num, -sold_num)) as diff  
    from Sales  
    group by sale_date  
    order by sale_date;
    
    • 1
    • 2
    • 3
    • 4

    执行结果

    +----------+----+
    |sale_date |diff|
    +----------+----+
    |2020-05-01|2   |
    |2020-05-02|0   |
    |2020-05-03|20  |
    |2020-05-04|-1  |
    +----------+----+
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
  • 相关阅读:
    MySql
    AI初识--LLM、ollama、llama都是些个啥?
    资深java面试题及答案整理
    mysql数据库
    整理自己平时用到的【快捷键】
    鸡尾酒学习——薄荷夏日
    linux系统安装MySQL数据库安装保姆级教程及1045错误和2058问题解决
    7-8 HashSet存入自定义类对象
    Springboot连接两个数据库
    YOLOv8改进实战 | 更换主干网络Backbone之PoolFormer篇
  • 原文地址:https://blog.csdn.net/weixin_57672329/article/details/136168781