`

MySql摘要

    博客分类:
  • Sql
 
阅读更多

001、批量删除

public void deleteAll(List<Integer> list);//删除

 <delete id="deleteAll" >
         DELETE from qy_exchangepl  
	 WHERE exchangeplid in
	<foreach item="item" index="index" collection="list" 
                       open="(" separator="," close=")">
             #{item}
        </foreach>
     </delete>

 

002 、MySql日期函数


003、MySql 禁用和启用外键约束检查

-- SQL data bulk transfer script generated by the MySQL Migration Toolkit
-- ----------------------------------------------------------------------
-- Disable foreign key checks 禁用
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
-- Re-enable foreign key checks 启用
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
-- End of script

 005、

查询重复记录

/*查找重复记录
	指定重复字段
	按重复字段分组
	count重复字段值>1则重复*/
SELECT *
FROM allintersection b
WHERE b.`Name` 
IN(
	SELECT a.`Name`
	FROM allintersection a
	GROUP BY a.`Name`
	HAVING COUNT(a.`Name`)>1
)

 006、

删除重复记录

按规则删除重复记录	
DELETE FROM allintersection 
WHERE allintersection.ID 
IN(
  SELECT b.maxid
	FROM
	(SELECT MAX(a.ID) as maxid
	FROM allintersection a
	GROUP BY a.`Name`
	HAVING COUNT(a.`Name`)>1 ) b
)

 007、

关于having的几点说明

1、SQL标准要求HAVING必须引用GROUP BY子句中的列或用于总计函数中的列。
   不过,MySQL支持对此工作性质的扩展,并允许HAVING涉及SELECT清单中
   的列和外部子查询中的列。
2、HAVING子句必须位于GROUP BY之后ORDER BY之前。
3、如果HAVING子句引用了一个意义不明确的列,则会出现警告。在下面的语
   句中,col2意义不明确,因为它既作为别名使用,又作为列名使用:
   mysql> SELECT COUNT(col1) AS col2 FROM t GROUP BY col2 HAVING col2 = 2;
   标准SQL工作性质具有优先权,因此如果一个HAVING列名既被用于GROUP BY,又被
   用作输出列清单中的起了别名的列,则优先权被给予GROUP BY列中的列。
4、HAVING子句可以引用总计函数,而WHERE子句不能引用。【这应该是开发者在特
   定的情况下采用HAVING子句的最大原因】
5、不要将HAVING用于应被用于WHERE子句的条目,从我们开头的2条语句来看,这样用
   并没有出错,但是mysql不推荐。而且也没有明确说明原因,但是既然它要求,我
   们遵循就可以了。

 008、按某一字段分组统计

例:qy_rb表--rblx日报类型字段(可能值0、1、2、3、4),现依据rblx统计一段时间内所有人员发表不同类型日报的数量

 

效果图:



 

局部sql:

SELECT 
SUM(case when rb.rblx='0' then 1 else 0 end) AS rbcount,
SUM(IF (rb.rblx=1,1,0) )AS zbcount,
SUM(IF (rb.rblx=2,1,0)) AS ybcount,
SUM(IF (rb.rblx=3,1,0)) AS jxthcount,
SUM(IF (rb.rblx=4,1,0)) AS jxfscount,
rb.userid
FROM qy_rb	rb
WHERE DATE_FORMAT(rb.tjsj,'%Y-%m-%-d')>=DATE_FORMAT('2012-08-01','%Y-%m-%-d') and DATE_FORMAT(rb.tjsj,'%Y-%m-%-d')<=DATE_FORMAT('2012-12-31','%Y-%m-%-d')
GROUP BY rb.userid

完整sql:

SELECT qyuser.xm,
	IF(ISNULL(t_a.rbcount),0,t_a.rbcount) as rbcount,
	IF(ISNULL(t_a.zbcount),0,t_a.zbcount) as zbcount,
	IF(ISNULL(t_a.ybcount),0,t_a.ybcount) as ybcount,
	IF(ISNULL(t_a.jxthcount),0,t_a.jxthcount) as jxthcount,
	IF(ISNULL(t_a.jxfscount),0,t_a.jxfscount) as jxfscount,
	IF(ISNULL(t_b.excount),0,t_b.excount) as excount,
	bm.bmmc
FROM qy_user qyuser
LEFT JOIN
(SELECT 
SUM(case when rb.rblx='0' then 1 else 0 end) AS rbcount,
SUM(IF (rb.rblx=1,1,0) )AS zbcount,
SUM(IF (rb.rblx=2,1,0)) AS ybcount,
SUM(IF (rb.rblx=3,1,0)) AS jxthcount,
SUM(IF (rb.rblx=4,1,0)) AS jxfscount,
rb.userid
FROM qy_rb	rb
WHERE DATE_FORMAT(rb.tjsj,'%Y-%m-%-d')>=DATE_FORMAT('2012-08-01','%Y-%m-%-d') and DATE_FORMAT(rb.tjsj,'%Y-%m-%-d')<=DATE_FORMAT('2012-12-31','%Y-%m-%-d')
GROUP BY rb.userid) t_a on qyuser.userid=t_a.userid
LEFT JOIN 
(SELECT count(*) as excount,
qyex.userid
FROM qy_exchange qyex 
WHERE DATE_FORMAT(qyex.tjsj,'%Y-%m-%-d')>=DATE_FORMAT('2012-08-01','%Y-%m-%-d') and DATE_FORMAT(qyex.tjsj,'%Y-%m-%-d')<=DATE_FORMAT('2012-12-31','%Y-%m-%-d')
GROUP BY qyex.userid

)t_b ON qyuser.userid=t_b.userid
LEFT JOIN qy_bm bm on qyuser.bmid=bm.bmid
WHERE qyuser.dwid='001'
ORDER BY rbcount AND zbcount and ybcount AND  excount DESC

 

 00、case语句

##方式一:
	SELECT 
		case sal.sfaz
			when 1  then '是' 
			when 2  then '否'
		end sfaz
	FROM saleorder sal
##	方式二:
	SELECT 
		case 
			when sal.sfaz=1  then '是' 
			when sal.sfaz=2  then '否'
		end sfaz
	FROM saleorder sal
##
SELECT 
	CASE
		WHEN a.user_name=null then 'no'
		WHEN a.user_name='' THEN 'no'
		ELSE a.user_name
	END as user_name
FROM game_user a

 

 00、if语句

SELECT 
		IF(sal.sfaz=1,'是','否') as sfaz
	FROM saleorder sal

00、mysql: 将记录值转换为字段统计(成绩表)

/*
select coalesce(a,b,c);  
如果a==null,则选择b;如果b==null,则选择c;如果a!=null,则选择a;
如果a b c 都为null ,则返回为null(没意义)。
*/
SELECT a.username,
    (SELECT COALESCE(t.fenshu,0) from cores t WHERE t.cursorse='数学' and t.username=a.username) as 数学,
    (SELECT IFNULL(t.fenshu,0) from cores t WHERE t.cursorse='语文' and t.username=a.username) as 语文,
   (SELECT IF(ISNULL(t.fenshu),0,t.fenshu) from cores t WHERE t.cursorse='英语' and t.username=a.username) as 英语    
FROM cores a
group by a.username 

 

 

 

 

 

 

 

  • 大小: 59.3 KB
  • 大小: 3.9 KB
  • 大小: 26.8 KB
分享到:
评论
1 楼 raza2736 2013-01-14  
这什么编译器啊,能给我一份吗

相关推荐

    高性能mysql摘要

    本文主要从MySQL的逻辑架构、并发控制、事务处理、多版本并发控制(MVCC)以及存储引擎等方面,对《高性能MySQL》一书的学习摘要进行详细阐述。 首先,MySQL的逻辑架构分为三层。第一层是连接处理、授权认证和安全...

    JSP+MYSQL学生个人理财系统-毕业设计

    **JSP+MYSQL学生个人理财系统-毕业设计** 在当今社会,个人理财能力的重要性日益凸显。为了帮助学生更好地理解和实践这一概念,一个基于JSP(Java Server Pages)和MYSQL数据库的个人理财系统应运而生。这样的系统...

    易语言MYSQL密码加密源码(取数据摘要)

    描述中提到的“返回一段字节集数据的数据摘要文本”,这通常是指哈希函数的应用。哈希函数可以把任意长度的输入转化为固定长度的输出,这个输出被称为哈希值或摘要。在密码加密中,通常会用哈希函数对原始密码进行...

    毕业论文jsp915在线调查管理系统mysql.doc

    摘要:本文介绍了一个基于jsp和mysql的在线调查管理系统的设计和实现。该系统旨在满足社会对高效、便利、安全的在线调查需求。系统主要包括用户管理、在线问卷管理、问卷审批等功能模块。任何用户都可以通过注册的...

    MySQL5.6官方文档

    - **内容摘要**:本手册旨在提供MySQL 5.6及其相关功能的全面指南。不仅介绍了MySQL 5.6的核心特性,还涵盖了部分不在所有版本中提供的高级功能。 #### 二、MySQL5.6核心特性与新增功能 - **MySQL5.6核心特性**: ...

    MySQL API 中文手册 v5.1官方中文版

    摘要:这是关于5.1版至5.1.2-alpha版MySQL数据库系统的参考手册。该手册不适用于旧版本MySQL软件,这是因为在MySQL 5.1和以前的版本存在很多功能性差异和其他差异。如果正在使用MySQL软件的较旧版本,请参阅MySQL ...

    82分tencent的Mysql云数据库产品认证答案

    本资源摘要信息涵盖了腾讯云 MySQL 云数据库产品认证的所有知识点,涵盖了云数据库 MySQL 产品认证、DTS 数据迁移、SQL 优化、公有云 MySQL 初始化、高可用性和容灾等方面的知识点。 云数据库 MySQL 产品认证是指...

    MySQL性能调优与架构设计.pdf

    本资源摘要信息是关于 MySQL 数据库软件的性能调优和架构设计的知识点。MySQL 是一个流行的开源数据库管理系统,具有简单高效可靠的特点,广泛应用于各个行业。以下是从给定的文件中提取的知识点: 1. MySQL 简介:...

    BugTrace PHP缺陷跟踪系统 v2.1

    不过客户端登录需要使用支持HTML5的Chrome浏览器浏览,其它非IE内核的浏运行环境:PHP+MySQL 摘要:PHP源码,其它类别,BugTrace  BugTrace PHP缺陷跟踪系统,无需初始化,开包即用。  不过客户端登录需要使用支持...

    MySQL 5 参考手册 CHM

    MySQL 5.1参考手册 这是MySQL参考手册的翻译版本,关于MySQL参考手册,请访问dev.mysql.com。 原始参考手册为英文版,与英文...摘要 这是MySQL参考手册 它涉及MySQL 5.1至5.1.2-alpha版本。 文档生成于: 2005-11-15

    php摘要参考写+mysql

    MySQL采用客户端/服务器架构,由MySQL服务器守护程序和多个客户端应用程序及库组成。MySQL数据库支持多种数据类型,如整型、浮点型、字符串和日期时间等,这些数据类型满足了各种数据存储需求。此外,MySQL还提供了...

    MySQL 5.6产品文档

    根据文档的摘要部分,我们可以了解到MySQL 5.6的一些关键特点和组成部分: - **版本覆盖范围**:该文档涵盖了MySQL 5.6从5.6.0到5.6.20的所有版本,同时包含了基于NDB CLUSTER 7.3的MySQL Cluster版本,直至5.6.17-...

    mysql 从简单到复杂练习

    本资源摘要信息主要介绍了Mysql数据库的基础知识和实践操作,通过创建学生表、课程表、教师表和成绩表,演示了如何使用Mysql语句来解决实际问题。同时,还提供了多种查询方式,帮助读者熟练掌握Mysql的使用。 一、...

    mysql15.1 官方中文手册

    MySQL 5.1参考手册 这是MySQL参考手册的翻译版本,关于MySQL参考手册,请访问dev.mysql.com。 原始参考手册为英文版,与英文...摘要 这是MySQL参考手册 它涉及MySQL 5.1至5.1.2-alpha版本。 文档生成于: 2005-11-15

    基于java swing和mysql的超市管理系统

    基于Java Swing和MySQL的超市管理系统是一种用于超市或商场管理商品和订单信息的计算机软件系统。该系统使用Java Swing作为GUI编程工具,MySQL作为数据库,可以方便地进行商品管理、订单管理、库存管理和查询等操作...

    Ubuntu16.04中安装配置mysql数据库.docx

    通过本资源摘要信息,读者可以了解 MySQL 数据库的安装和初始化过程,并掌握基本的 MySQL 数据库管理技能。 一、添加 APT 存储库 在安装 MySQL 之前,需要将 MySQL APT 存储库添加到系统的软件存储库列表中。用户...

    1_MYsql学习(摘要笔记).zip

    这份"1_MySQL学习(摘要笔记).zip"压缩包包含了一系列关于MySQL学习的重要资料,涵盖了从基础操作到高级特性的多个方面。 首先,"1.MYsql启动与登录.txt"介绍了如何启动和登录MySQL服务,这是使用MySQL的第一步。在...

    国开MySQL数据库应用形考任务1~4.doc

    MySQL 数据库应用形考任务 1~4 的知识点摘要 实验 1:数据库创建和管理 * 创建数据库和表的方法 * MySQL 支持的数据类型 * 数据完整性在 MySQL 下的表现形式 * CREATE TABLE 语句的操作方法 * SHOW TABLES 语句的...

    mysql5.6官方文档

    文档开头的摘要部分简要介绍了手册的目的,说明了手册涵盖的MySQL 5.6版本范围以及基于NDB版本7.3和7.4的MySQL Cluster版本。接下来,文档提供了关于文档使用的信息,比如排版和语法约定,以及对于不同发行版可能不...

    mysql书籍,涂抹mysql三思笔记

    为了满足您的要求,我需要书籍内容的实质性摘要或章节段落,其中应包含详细的MySQL知识点,例如数据库设计、SQL语法、性能优化、安全措施、存储引擎、事务处理等方面的内容。 如果您能提供实际的书籍内容,我将能够...

Global site tag (gtag.js) - Google Analytics