SELECT    SUM(co)FROM    (        SELECT            telephone,            count(telephone) AS co        FROM            noteaddress        GROUP BY            telephone        HAVING            count(telephone) > 1    ) as a…
SELECT TABLE_NAME '表名',TABLE_SCHEMA '数据库名',ORDINAL_POSITION '顺序',COLUMN_NAME '字段',DATA_TYPE '类型' ,CHARACTER_OCTET_LENGTH '字节长',IF(COLUMN_KEY='PRI',"√","") '主键',IF(EXTRA='auto_increment',"√","") '自增长' ,IF(IS_NULLABLE…
通过having代替where来使用count(1),sum()等函数.譬如如下数据id value1 21 32 33 53 6 可以写个语句统计value的分组 在这里,可以省略前面的sum(value).成这样 这样的结果就是1 53 11 其实这句的意思就是 group by id 但是oracle中,计算字段没法当作条件来用,所以就用having 来表示count(*)也是一个道理的,当然什么avg,max,min之类的聚合函数也同样.比如:存在这个表a1. A1 B12   42  …
使用CONCAT()函数 mysql向表中某字段后追加一段字符串(field为字段名): update table_name set field=CONCAT(field,'str',) mysql 向表中某字段前加字符串update table_name set field=CONCAT('str',field)…
今天遇到这么一个问题,公司最近在做一个活动,然后数据库需要建表,其中有个字段是关于奖励发放的状态的字段,结果读取出来的值为true 一.解决读取数据为true/false的问题 场景: 字段:status (值为1,2,3) 类型:tinyint  长度:1(有符号的) 结果:查询出来的数据列表,状态值不管是1还是2还是3,都是"boolean true" 分析并解决: 分析:由于MySql中没有boolean类型,所以会用到tinyint[1]类型来表示,在mysql中boolean…
1. 查询需要删除的记录,会保留一条记录. select a.id,a.subject,a.RECEIVER from test1 a left join (select c.subject,c.RECEIVER ,max(c.id) as bid from test1 c where status=0 GROUP BY RECEIVER,SUBJECT having count(1) >1) b on a.id< b.bid where a.subject=b.subject and a.R…
数据库一个表中有一个tinyint类型的字段,值为0或者1,如果取出来的话,0会变成false,1会变成true. MySQL保存boolean值时用1代表TRUE,0代表FALSE.boolean在MySQL里的类型为tinyint(1).MySQL里有四个常量:true,false,TRUE,FALSE分别代表1,0,1,0. 场景: 字段:status (值为1,2,3) 类型:tinyint  长度:1(有符号的) 结果:查询出来的数据列表,状态值不管是1还是2还是3,都是"boolea…
应用:已知的字段名,表中的所有数据的查询数据库中包含的所有数据表的字段名 操作方法:指定字段名,用户数据库表,它可以执行以下查询 --Oracle生成查询包括对应于所有数据表记录语句中指定的字段名 declare mycolumnname VARCHAR(255):='userid';--定义要查询的字段名变量,执行前改动成您要查询的字段名myownername VARCHAR(255):='system';--定义要查询的数据库username变量,执行前改动成您要查询的数据库username…
涂抹mysql笔记-数据库中的权限体系<>能不能连接,主机名是否匹配.登陆使用的用户名和密码是否正确.mysql验证用户需要检查3项值:用户名.密码和主机来源(user.password.host)<>能不能执行操作.涉及到的字典表 mysql.user mysql.db mysql.tables_priv mysql.columns_priv mysql.proc_priv<>权限变更何时生效.mysql数据库启动时将上面的权限字典表的内容读到内存中,有用户连接或执行…
项目中和前端联调的时候,发现Mysql查询语句中字符型字段值过滤是不区分大小写的,之前没有关注过这个设置,特意去网上看了下,原因是Mysql中“COLLATE”属性区分大小写,而该属性默认值为“utf8_general_ci”,这个值表示是不区分大小写的.现将解决方法记录如下: 1.设置“COLLATE”属性值为“utf8_bin”或者“utf8_gerneral_cs”,utf8_bin表示二进制比较,同时也支持区分大小写:在Mysql5.6.10版本中,不支持utf8_genral_cs:…