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. VA41 销售合同创建BAPI

    一.事务代码VA41 合同创建的过程和销售订单几乎一致 二.调用BAPI 调用BAPI为BAPI_CONTRACT_CREATEFROMDATA 传参和销售订单BAPI:BAPI_SALESORDER ...

  2. KB21N、KB24N作业分配与冲销

    一.KB21N 调用BAPI:BAPI_ACC_ACTIVITY_ALLOC_POST 经测试,分配订单时行项目一次性最多传332条数据 "------------------------- ...

  3. freeswitch的mod_xml_curl模块动态获取configuration

    概述 freeswitch是一款简单好用的VOIP开源软交换平台. mod_xml_curl模块支持从web服务获取xml配置,本文介绍如何动态获取acl配置. 环境 centos:CentOS  r ...

  4. HOMER docker版本配置优化

    概述 HOMER是一款100%开源的针对SIP/VOIP/RTC的抓包工具和监控工具. HOMER是一款强大的.运营商级.可扩展的数据包和事件捕获系统,是基于HEP/EEP协议的VoIP/RTC监控应 ...

  5. 第65篇 AJAX初识 校验用户名 登录示例 文件上传 csrftoken

    1, 知识储备 2. AJAX的定义 异步的JavaScript和XML 使用场景: JavaScript和后端的数据传递 2.1原生的JavaScript实现AJAX 2.2 JQuery实现 2. ...

  6. 凸优化 | Lagrange 对偶:极大极小不等式的证明

    背景: Lagrange 对偶:对于优化问题 \[\begin{aligned} &\mathrm{minimize} ~~ &f_0(x) \\ &\mathrm{subje ...

  7. AvaloniaUI 取消标题栏,无边框无最大最小化,

    AvaloniaUI 取消标题栏,无边框无最大最小化, 创建一个Window控件 并且在Window中添加以下代码 ExtendClientAreaToDecorationsHint="Tr ...

  8. DataGrip连接MySql数据库失败:dataGrip java.net.ConnectException: Connection refused: connect.

    1.问题 报错:dataGrip java.net.ConnectException: Connection refused: connect. 详细错误:[08S01] Communications ...

  9. 上下文中找不到org.springframework.boot.web.servlet.server.ServletWebServerFactory bean

    1.问题 报错如下: Description: Web application could not be started as there was no org.springframework.boo ...

  10. Shell-case-in-分支