1、查询当前月(数字为0表示当前月份,1表示上个月,-1表示下个月,以此类推)

SELECT DATE_FORMAT((CURDATE() - INTERVAL [数字] MONTH), '%Y-%m') as `date`

2、添加数据库表字段

ALTER TABLE t_performance_group_plan ADD COLUMN submit_approval_time DATETIME DEFAULT NULL COMMENT '提交审批时间' AFTER financial;

3、insert根据select查询结果进行插入

INSERT INTO t_performance_group_detail (group_id, member_name)
SELECT
tp.`id`,
t1.`nick_name`
FROM
sys_user t1

4、查询结果中根据A字段分组,将B字段合并展示(使用函数 group_concat()  )

SELECT
'FNS' AS `source_code`,
CONCAT(`am`.`month_id`, '-out') AS `source_trx_id`,
`am`.`month_id` AS `month_id`,
`ai`.`sp_no` AS `approval_number`,
`tu`.`NAME` AS `applicant_by_name`,
`tu`.`user_code` AS `applicant_by`,
`td`.`dept_name` AS `dept_name`,
`td`.`dept_id` AS `dept_id`,
`ai`.`apply_time` AS `apply_time`,
(
CASE
WHEN (`ai`.`reimburse_type` = 1)
THEN '个人报销'
WHEN (`ai`.`reimburse_type` = 2)
THEN '公司报销'
ELSE NULL
END
) AS `reimburse_type`,
`ai`.`sp_status` AS `sp_status`,
`ai`.`country` AS `country`,
`md`.`dic_value` AS `currency`,
`tpm`.`payment_method_name` AS `payment_method`,
`ft1`.`name` AS `apply_type`,
`ai`.`payee` AS `payee`,
`ai`.`company` AS `company`,
`ai`.`accounting_date` AS `accounting_date`,
`ai`.`accounting_month` AS `accounting_month`,
`am`.`apply_accountid` AS `fee_bear_code`,
`ft2`.`name` AS `fee_type`,
`center`.`costcenter_name` AS `costcenter_name`,
`ft3`.`name` AS `finance_expend_type`,
`am`.`apply_fee` AS `apply_fee`,
IF(
(`ai`.`apply_category` = 1),
`am`.`now_offset_fee`,
0
) AS `writeOffFee`,
`ca`.`pre_sp_no`,
`am`.`tax_rate` AS `tax_rate`,
`am`.`no_tax_money` AS `no_tax_money`,
`am`.`tax_money` AS `tax_money`,
`am`.`invoice_number` AS `invoice_number`,
IF(
(`ai`.`more_invoice` = 0),
`ai`.`transfer_status`,
`am`.`transfer_status`
) AS `transferStatus`,
`am`.`payment_due_date` AS `payment_due_date`,
`am`.`start_time` AS `start_time`,
`am`.`end_time` AS `end_time`,
`am`.`fee_desc` AS `fee_desc`,
`ai`.`is_transfer` AS `is_transfer`,
2 AS `environment`,
`bid`.`batch_id` AS `sync_batch_id`
FROM
`t_accounting_month` `am`
LEFT JOIN `t_apply_info` `ai`
ON `ai`.`sp_no` = `am`.`sp_no`
LEFT JOIN `t_user` `tu`
ON `ai`.`applyer_userid` = `tu`.`USER_ID`
LEFT JOIN `t_dept` `td`
ON `ai`.`applyer_partyid` = `td`.`dept_id`
LEFT JOIN `t_unit` `unit`
ON `ai`.`applyer_accountid` = `unit`.`unit_id`
LEFT JOIN `t_unit_costcenter_map` `center`
ON `am`.`cost_center` = `center`.`costcenter_code`
LEFT JOIN
(SELECT
apply_sp_no,
GROUP_CONCAT(DISTINCT ca.`pre_sp_no`) AS pre_sp_no
FROM
connect_apply ca
WHERE ca.`apply_sp_no` IN
(SELECT
`ai`.`sp_no` AS `approval_number`
FROM
`t_accounting_month` `am`
LEFT JOIN `t_apply_info` `ai`
ON `ai`.`sp_no` = `am`.`sp_no`
LEFT JOIN `t_user` `tu`
ON `ai`.`applyer_userid` = `tu`.`USER_ID`
LEFT JOIN `t_dept` `td`
ON `ai`.`applyer_partyid` = `td`.`dept_id`
LEFT JOIN `t_unit` `unit`
ON `ai`.`applyer_accountid` = `unit`.`unit_id`
LEFT JOIN `t_unit_costcenter_map` `center`
ON `am`.`cost_center` = `center`.`costcenter_code`
LEFT JOIN `m_dictionary` `md`
ON `ai`.`apply_currency` = `md`.`dic_key`
LEFT JOIN `t_payment_method` `tpm`
ON `ai`.`pay_method` = `tpm`.`payment_method_code`
LEFT JOIN `t_batch_id_month` `bid`
ON `bid`.`month` = DATE_FORMAT(`ai`.`accounting_date`, '%Y-%m')
LEFT JOIN `t_fee_type` `ft1`
ON `ft1`.`code` = `ai`.`apply_type`
LEFT JOIN `t_fee_type` `ft2`
ON `ft2`.`code` = `am`.`fee_type`
LEFT JOIN `t_fee_type` `ft3`
ON `ft3`.`code` = `am`.`finance_expend_type`
WHERE (
(`ai`.`sp_status` IN (20, 10, 13))
AND (
`am`.`apply_accountid` NOT IN ('COMPANY', 'FINA')
)
AND (`tu`.`STATUS` = 1)
AND (`am`.`fas_transfer_status` = 0)
AND (
DATE_FORMAT(`ai`.`accounting_date`, '%Y-%m') = "2022-05"
)
)
GROUP BY `ai`.`sp_no`)
AND ca.`status` = 0
AND ca.`pre_type` = 1
GROUP BY ca.`apply_sp_no`) `ca`
ON `ca`.`apply_sp_no` = `ai`.`sp_no`
LEFT JOIN `m_dictionary` `md`
ON `ai`.`apply_currency` = `md`.`dic_key`
LEFT JOIN `t_payment_method` `tpm`
ON `ai`.`pay_method` = `tpm`.`payment_method_code`
LEFT JOIN `t_batch_id_month` `bid`
ON `bid`.`month` = DATE_FORMAT(`ai`.`accounting_date`, '%Y-%m')
LEFT JOIN `t_fee_type` `ft1`
ON `ft1`.`code` = `ai`.`apply_type`
LEFT JOIN `t_fee_type` `ft2`
ON `ft2`.`code` = `am`.`fee_type`
LEFT JOIN `t_fee_type` `ft3`
ON `ft3`.`code` = `am`.`finance_expend_type`
WHERE (
(`ai`.`sp_status` IN (20, 10, 13))
AND (
`am`.`apply_accountid` NOT IN ('COMPANY', 'FINA')
)
AND (`tu`.`STATUS` = 1)
AND (`am`.`fas_transfer_status` = 0)
AND (
DATE_FORMAT(`ai`.`accounting_date`, '%Y-%m') = "2022-05"
)
)
GROUP BY `am`.`month_id`

实际案例

5、查询 | 删除数据表中根据多字段查询存在多条重复数据(删除重复数据,留下id最小的一个)

SELECT * FROM afee a
WHERE (a.fee) IN (SELECT fee FROM afee GROUP BY fee HAVING COUNT(*) > 1)
AND id NOT IN (SELECT MIN(id) FROM afee GROUP BY fee HAVING COUNT(*)>1)
DELETE
FROM
afee
WHERE id IN
(SELECT
res.id
FROM
(SELECT
a.id
FROM
afee a
WHERE (a.fee) IN
(SELECT
fee
FROM
afee
GROUP BY fee
HAVING COUNT(1) > 1)
AND a.id NOT IN
(SELECT
MIN(id)
FROM
afee
GROUP BY fee
HAVING COUNT(1) > 1)) AS res)

注:此种方式删除时,子查询结果应“包一层”,否则会抛出You can't specify target table 'afee' for update in FROM clause错误

6、更新数据库表字段类型

ALTER TABLE t_save_apply_info MODIFY COLUMN all_fee DECIMAL(12,2) COMMENT "总费用";

7、增加字段

alter table 表名 add 字段名 字段类型(长度) comment "备注"

有用的sql笔记(工作总结)的更多相关文章

  1. SQL 笔记 By 华仔

    -------------------------------------读书笔记------------------------------- 笔记1-徐 最常用的几种备份方法 笔记2-徐 收缩数据 ...

  2. SQL笔记 --- 数据库设计步骤(转)

    SQL笔记 --- 数据库设计步骤 目录 总体设计过程需求分析概念结构设计逻辑结构设计数据库物理设计数据库实施数据库运行和维护 总体设计过程 0 » 下一篇:vim 命令集 posted @ 2012 ...

  3. 三个有用的SQL辅助工具

    三个有用的SQL辅助工具 编写人:CC阿爸 2015-1-23 工欲善其事必先利其器,今天在这里,我想与大家一起分享三个有用的SQL辅助工具.有兴趣的同学,可以一同探讨与学习一下,否则就略过吧. 相信 ...

  4. SQL笔记1:SELECT及SELECT高级应用

      T-SQL笔记1:SELECT及SELECT高级应用 本章摘要 1:安装AdventureWorks 2:基本运算符和表达式 3:between 4:like 5:escape 6:TOP 7:G ...

  5. SQL索引工作原理

    SQL 当一个新表被创建之时,系统将在磁盘中分配一段以8K为单位的连续空间,当字段的值从内存写入磁盘时,就在这一既定空间随机保存,当一个8K用完的时候, SQLS指针会自动分配一个8K的空间.这里,每 ...

  6. 金典 SQL笔记 SQL语句汇总

    SELECT * FROM (SELECT ROW_NUMBER() OVER ( ORDER BY id) AS rowN,FNumber, FName,FSalary ,Fage FROM dbo ...

  7. (2.2)【转】mysql的SQL笔记

    一千行 MySQL 详细学习笔记 IT技术思维 4月1日 ↑↑↑点上方蓝字关注并星标⭐「IT技术思维」 一起培养顶尖技术思维 作者:格物 原文链接:https://shockerli.net/post ...

  8. Head First SQL笔记

    看的时候总结了一下,如下: Chapter 1: 创建数据库 CREATE DATABASE database_name; 使用数据库 USE database_name; 创建表 CRATE TAB ...

  9. 比较有用的sql语句

    一.基础 .说明:创建数据库 CREATE DATABASE database-name .说明:删除数据库 drop database dbname .说明:备份sql server --- 创建 ...

  10. 金典 SQL笔记(6)

    page223-索引 --利用SQL 语句创建索引 --CREATE INDEX 索引名称on 表名(字段 ,字段, 字段字段n) --索引名称必须为唯一的,字段 ,字段, 同意一个到多个 --范例为 ...

随机推荐

  1. JS 闭包 BUG

    C.js代码: /** * 有BUG */ (function (global) { var _id; var _map; var _length; global.C = function () { ...

  2. 国内使用 Mac OS 快速安装 Homebrew

    问题描述 使用新的 Mac 电脑开发,没有安装 Homebrew 确实不行,但是国内访问 github,很不稳定,运行 /bin/bash -c "$(curl -fsSL https:// ...

  3. AtCoder Beginner Contest 218 A~D

    比赛链接:Here A - Weather Forecas 水题,判断 \(s[n - 1] = o\) 的话输出 YES B - qwerty 题意:给出 \((1,2,...,26)\) 的某个全 ...

  4. vue3引入使用svg图标

    vue3使用svg图标 安装 // 通过命令安装2个插件 npm i vite-plugin-svg-icons -D npm i fast-glob -D 在vue.config.js中配置 //v ...

  5. 换架 3D 飞机,继续飞呀飞

    相信大多数图扑 HT 用户都曾见过这个飞机的 Demo,在图扑发展的这十年,这个 Demo 是许多学习 HT 用户一定会参考的经典 Demo 之一. 这个 Demo 用简洁的代码生动地展示了 OBJ ...

  6. kafka搭建 一、单机版

    系列导航 一.kafka搭建-单机版 二.kafka搭建-集群搭建 三.kafka集群增加密码验证 四.kafka集群权限增加ACL 五.kafka集群__consumer_offsets副本数修改 ...

  7. vue网站换色功能

    vue.config.js里全局配置mixin.scss: 使用: 判断 sessionStorage 中的 type 是否为空,如果为空的话,就给默认的颜色(页面初始化的颜色),如果不为空的话就将对 ...

  8. Python数据可视化-地图可视化

    Python数据可视化-地图可视化 一.基础地图使用 基础地图演示 二.疫情地图-国内疫情地图 具体代码如下 """ 演示全国疫情可视化地图开发 "" ...

  9. AMBA总线介绍-02

    AMBA总线介绍 1 HSIZE AHB总线的地址位宽和数据位宽一般都是32bit,一个字节8bit,一个字节占用一个地址空间,但当一个32bit的数据写入一个存储器中或者从一个存储器中读取,32bi ...

  10. 【Gerrit】 快捷操作

    A:添加Reviewers V+B:Pachset刷到最新 D:Download patch J.K:文件移动选中 R:文件Reviewed状态修改 S:五星状态修改,可用于分类管理 U:返回上层 I ...