d202547

目录

[一、sql-每月交易 I](#一、sql-每月交易 I)

[二、 sql-按日期分组销售产品](#二、 sql-按日期分组销售产品)

三、sql-列出指定时间段内所有的下单产品

[四、 第k个大的数](#四、 第k个大的数)


一、sql-每月交易 I

题目意思就是把国家名称,和年月一样的分为一组,在这组数据中进行计数

题目给的日期格式是yyyy-mm-ss,可以使用left()函数截取一下

sql 复制代码
select  left(trans_date,7) as 'month',country,count(state) as 'trans_count',
count(if(state = 'approved',1,null)) as 'approved_count',
sum(amount) as 'trans_total_amount',
sum(if(state = 'approved',amount,0)) as 'approved_total_amount'
from Transactions
group by country,left(trans_date,7)

二、 sql-按日期分组销售产品

sql 复制代码
select sell_date,COUNT(DISTINCT product) num_sold,
       GROUP_CONCAT(DISTINCT product) products
from Activities
group by sell_date

三、sql-列出指定时间段内所有的下单产品

写的莫名其妙 感觉需要找个时间捋一下mysql 什么先执行了

sql 复制代码
select p.product_name,sum(if(left(order_date,7) = '2020-02',unit,0)) as 'unit'
from Orders o1 left join Products p on o1.product_id = p.product_id
group by o1.product_id
having sum(if(order_date like '2020-02%',unit,0)) >= 100

四、 第k个大的数

sql 复制代码
public int findKthLargest(int[] nums, int k) {
        PriorityQueue<Integer> p = new PriorityQueue<>(((a,b) -> b-a));
        for(int val : nums){
            p.offer(val);
        }
        while(k-- > 1){
            p.poll();
        }
        return p.peek();
    }
相关推荐
快起来别睡了2 分钟前
看完你就知道JavaScript 中的对象创建与继承方式原来这么简单?!
javascript
Winner13008 分钟前
Debian、Buildroot 和 Ubuntu 都是基于 Linux 的系统区别
linux·ubuntu·debian
乌兰麦朵11 分钟前
Vue吹的颅内高潮,全靠选择性失明和 .value 的PUA!
前端·vue.js
Goodbaibaibai11 分钟前
创建一个简洁的Vue3 + TypeScript + Vite + Pinia + Vue Router项目
javascript·vue.js·typescript
Code季风11 分钟前
Gin Web 层集成 Viper 配置文件和 Zap 日志文件指南(下)
前端·微服务·架构·go·gin
蓝倾12 分钟前
如何使用API接口实现淘宝商品上下架监控?
前端·后端·api
舂春儿13 分钟前
如何快速统计项目代码行数
前端·后端
毛茸茸14 分钟前
⚡ 从浏览器到编辑器只需1秒,这个React定位工具改变了我的开发方式
前端
Pedantic14 分钟前
我们什么时候应该使用协议继承?——Swift 协议继承的应用与思
前端·后端
Software攻城狮15 分钟前
vite打包的简单配置
前端