信创云平台如何推动企业数字化转型与创新发展
596
2022-11-14
一些有意思的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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~