一些有意思的MySQL语法命令

网友投稿 596 2022-11-14

一些有意思的MySQL语法命令

一些有意思的MySQL语法命令

一些有意思的MySQL语法命令

​​背景​​

背景

这篇博客主要记录鄙人用过的一些有意思的MySQL语法命令,以便熟能生巧,以备不时之需,前期不准备做分类,等积累到一定程度后会场景分类。

建表并先建一个逻辑主键然后更改表的唯一索引

create table adm_hy_volume_ratio_pred_algorithm(id bigint not null primary key auto_increment comment'逻辑主键',agent_id varchar(20) not null comment'id', flight_date date not null comment'航班日期', aoc_type varchar(20) comment'机型, 如果空默认为A320', hy_volume_ratio float(8, 2) comment'货邮体积系数', label int comment'预测类型,0或1',create_time datetime comment'创建时间')ENGINE=InnoDB default charset=utf8; #新建一个表alter table adm_hy_volume_ratio_pred_algorithm add unique index id(agent_id, flight_date); #更改表的唯一索引

求某一列满足某条件(空值,0)的占比

1, 先分别求出总数和cargo_fee为0的数目

select sum(1) as toal_num,sum(case when cargo_fee = 0 then 1 end) as nan_numfrom adm.adm_ifs_rate_order_price; #先分别求出总数和其中cargo_fee为0的数目

2, 再求出两者的比值;

select nan_num, total_num, nan_num/total_num as ratiofrom(selectsum(1) as total_num,sum(case when cargo_fee=0 then 1 end) as nan_numfrom adm.adm_ifs_rate_order_price) a;

对datetime取其日期

2022-03-30 09:02:48 2022-03-30 09:07:24 2022-03-30 09:02:49 2022-03-30 09:07:25

select * from adm.adm_dispatch_weight_pred_algorithm where left(create_time, 10) ='2022-03-30'; #查询某制定日期创建的起飞限重预测结果

按条件插入并且排除主键重复

# sql = ("insert ignore into adm.adm_psg_config(flight_id, sarimax_order, mape, create_time)""values(%s, %s, %s, %s)\ # on duplicate key update mape=if(mape>%s, %s, mape), create_time=%s") #

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:956. 最高的广告牌 状压 dp
下一篇:解析Jmeter脱离Jenkins后Ant集成邮件通知问题
相关文章

 发表评论

暂时没有评论,来抢沙发吧~