Mysql数据库高级SQL

1、从一个表更新到另外一个表

方法一

UPDATE temp_x a, temp_y b SET a.`c_amount` = b.`c_amount` WHERE a.`c_id` = b.`c_id`;

方法二、

UPDATE temp_x a SET a.`c_amount` = (SELECT b.c_amount FROM temp_y b WHERE b.`c_id` = a.`c_id`)

2、多字段排序

if test="dto.mindSort!=null and dto.mindSort=='4'.toString()">

dict.sort ASC,reportStatus desc,

case reportDay

when '申请中' then '1'

when '长期可申报' then '2'

when '无需申报' then '3'

when '申报结束' then '4'

end asc

if>

3、获取当前时间的月份

select MONTH(DATE_SUB(CURDATE(),INTERVAL 1 MONTH)) from dual;

获取当前月份的上个月月份

DATE_SUB(CURDATE(),INTERVAL 1 MONTH)

4、表中有重复数据,如果去重查询数据

select a.* from taxation_data a join (select social_credit_code,max(base_id) best_history_data from taxation_data group by social_credit_code) b where a.social_credit_code=b.social_credit_code and a.base_id=b.best_history_data;

相关推荐
会飞的架狗师18 分钟前
【MySQL体系】第8篇:MySQL集群架构技术详解
数据库·mysql·架构
yangchanghua11121 分钟前
[记录]一个30秒的sql,我是怎么把它改到0.5秒的
数据库·sql·性能优化
星光一影1 小时前
供应链进销存源码uniapp全开源ERP多仓库管理系统pc+app手机端
mysql·elementui·uni-app·开源·php·phpstorm·1024程序员节
折翼的恶魔1 小时前
SQL187 每份试卷每月作答数和截止当月的作答总数。
sql
行者游学1 小时前
ETCD 集群备份与恢复
数据库·etcd
行者游学1 小时前
ETCD 学习使用
数据库·学习·etcd
代码程序猿RIP1 小时前
【Etcd 】Etcd 详解以及安装教程
linux·数据库·etcd
tqs_123452 小时前
创建es索引
数据库·es
间彧2 小时前
Mysql优化指南:善用覆盖索引,提升查询效率
数据库