数量查询时,有如下几种方式: 1.下面三种方式,在多数情况下效率是基本相同的,但问题在于,很多情况下,我们数据库可能有脏数据,比如重复数据,或者某条数据重要字段是null的,那下面的这几种,会把这种脏数据也统计上...如果某条记录user_name是空的呢?那下面三种写法,出现的结果就完全不同了: 这是查询这张表的总行数,重复的和null的都算进去。...select count(*) from `user` 这是查询这张表中user_name不为空的行数。...select count(user_name) from `user` 这是查询这张表中,user_name有多少不重复的行,null的也会被统计为一行。...select count(distinct(user_name)) from `user` 以上数据,是在mysql数据库,100万条数据,200万条数据,和300万条数据下做出验证的。
Cast(字段名 as 转换的类型 ),其中类型可以为: CHAR[(N)] 字符型 DATE 日期型 DATETIME 日期和时间型 DECIMAL float型 SIGNED int TIME
想要在字符串中查找某字符串可以使用instr()函数 instr()返回子字符串在字符串中首次出现的位置;如果没有找到,则返回0 用法: instr(str,substr) str:从哪个字符串中搜索...substr:要搜索的子字符串 instr()函数不区分大小写 mysql instr()函数示例: 如图,在abcd字符串中查找是否含有字符串b,返回的字符串位置是2....说明instr()函数返回的位置是从1开始的,如果找不到则返回0 ? 查找字符串中包含“民”的记录 ?...instr()函数与like运算符 在没有索引的情况下,instr()函数与like运算符的速度是一样的;在具有前缀搜索的LIKE运算符下,使用like运算符速度会更快一些 参考:https://blog.csdn.net
这里是一个使用日期函数的例子。...EXTRACT(type FROM date)函数从日期 中返回“type”间隔。...%Y 年, 数字, 4 位 %y 年, 数字, 2 位 %a 缩写的星期名字(Sun……Sat) %d 月份中的天数, 数字(00……31) %e 月份中的天数, 数字(0……31...在MySQL更早的版本中,%是可选的。...format可以包含与DATE_FORMAT()函数列出的条目同样的修饰符。
mysql中concat函数的用法 1、用于返回多个字符串连接之后的字符串。...SELECT CONCAT('MySQL', '字符串', '函数') AS str; str | --------------+ MySQL字符串函数| 2、如果该函数中的任何参数为...SELECT CONCAT('MySQL', NULL, '函数') AS str; str| ---+ | 3、对于字符串常量,也可直接将它们连写在一起。...SELECT 'MySQL' '字符串' '函数' AS str; str | --------------+ MySQL字符串函数| 以上就是mysql中concat函数的用法,希望对大家有所帮助...更多mysql学习指路:MySQL 推荐操作系统:windows7系统、mysql5.8、DELL G3电脑 收藏 | 0点赞 | 0打赏
0904自我总结 函数中*的用法 def fn(a, b, c, *, d=0, x): print(a) print(b) print(c) print(d)...print(x) fn(10, 20, 30, x=30, d=100) 这里的*其实相当于一个分界线的作用,前面的是位置形参,后面是关键形参 * 前都是位置参数:无值位置必须赋值,有值位置可以不要赋值...,必须在无值位置之后 * 后都是关键字参数:无值关键字必须赋值,有值关键字可以不要赋值,都是指名道姓传参,所以顺序任意 * 可以紧跟一个变量,用来接收所有未接收完的位置参数
MySQL的concat函数可以连接一个或者多个字符串,如 mysql> select concat('10'); +--------------+ | concat('10') | +-----...的concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL mysql> select concat('11','22',null); +-------------------...函数会忽略任何分隔符参数后的 NULL 值。...中concat函数不同的是, concat_ws函数在执行的时候,不会因为NULL值而返回NULL mysql> select concat_ws(',','11','22',NULL); +--...向表中某字段后追加一段字符串: update table_name set field=CONCAT(field,'',str) mysql 向表中某字段前加字符串 update table_name
group_concat函数应该是在内部执行了group by语句,这是我的猜测。...下面进行了实际测验 3.测试常量对group_concat()的配置影响: SET @@GROUP_CONCAT_MAX_LEN=4 手册中提到设置的语法是这样的: SET [SESSION | GLOBAL...原因可以这样理解:group_concat()得到是属于x组的所有成员(函数里面列参数指定需要显示哪些字段)。x组从哪里来?...所以,像上面没有group by子句的时候,就显示了长沙和北京。 实际中什么时候需要用到这个函数? 假如需要查询的结果是这样:左边显示组名,右边想显示该组别下的所有成员信息。...用这个函数,就可以省去很多事情了。 另外,假如我这样使用:SELECT group_concat( name, sex ) FROM `players` town。意义不大。
(1)max()的用法 ? 我们想查寻在is_deleted=0下,id的最大值,可用如上语句,可以查出id最大为4. (2)min()的用法 同上: ?...(3)count()的用法 ?...比如上面的count(*),这样查出来的是在where条件下的总行数,is_deleted=0的行数为2,此时的值为3/2=1.5,count其实就是统计总数 (4)sum()的用法 ?...很容易可以得出:1+3+4=8 (5)avg()的用法 ?...avg()就是算平均数 注意:聚合函数都忽略null,如果要计算上null所在行,要使用ifnull函数,比如ifnull(xx,0)的意思是判断xx是否为空,如果为空,那后面的数字代替这个null值
目录 目录 前言 limit语法 性能分析 优化 用id优化 用覆盖索引优化 总结 前言 日常开发中,我们使用mysql来实现分页功能的时候,总是会用到mysql的limit语法.而怎么使用却很有讲究的...因为limit 10000,10的语法实际上是mysql查找到前10010条数据,之后丢弃前面的10000行,这个步骤其实是浪费掉的....总结 用mysql做大量数据的分页确实是有难度,但是也有一些方法可以进行优化,需要结合业务场景多进行测试....联系邮箱:huyanshi2580@gmail.com 更多学习笔记见个人博客——>呼延十 var gitment = new Gitment({ id: 'Mysql中limit的用法', //...( Linux守护进程管理) Next Java中 Treemap和 Treeset的使用 ----
SQL中的Join用法 #1 环境 MySQL5.7 Mac #2 创建表及插入数据 新建两个表tableA及tableB mysql> create table tableA ( id int(10)...#3.2 left join 产生表A的完全集,而B表中匹配的则有值(没有匹配的则以null值取代)。...left join返回左表的全部行和右表满足ON条件的行,如果左表的行在右表中没有匹配,那么这一行右表中对应数据用NULL代替。...left join返回左表的全部行和右表满足ON条件的行,如果左表的行在右表中没有匹配,那么这一行右表中对应数据用NULL代替。...#3.4 full join A和B的并集,oracle里面有full join,但是在mysql中没有full join 。我们可以使用union来达到目的。
直接登录进入MySQL数据库,输入show full processlist; 可以看到正在执行的语句。...至于哪种好我会在MySQL的JOIN(二):优化讲述。示例如下。 ? ?...依旧从笛卡尔积的角度讲,就是先从笛卡尔积中挑出ON子句条件成立的记录,然后加上左表中剩余的记录(见最后三条)。 ? ?...外连接:OUTER JOIN 外连接就是求两个集合的并集。从笛卡尔积的角度讲就是从笛卡尔积中挑出ON子句条件成立的记录,然后加上左表中剩余的记录,最后加上右表中剩余的记录。...USING子句 MySQL中连接SQL语句中,ON子句的语法格式为:table1.column_name = table2.column_name。
mysql中一个很好用的截取字符串的函数:substring_index。...用法规则: substring_index(“待截取有用部分的字符串”,“截取数据依据的字符”,截取字符的位置N) 具体例子: 首先假定需要截取的字符串为“192,168,8,203”(虽然这里指的不是...iP,可以看作是ip结构来处理吧),这里截取的依据是逗号:“,” ,具体要截取第N个逗号前部分的字符 意思是:在字符串中以逗号为索引,获取不同索引位的字符 结果如下: 取第一个逗号前的字符串 : SELECT...(有负号的时候,可以将整个字符倒过来看,依旧是第N个字符前面的部分。)...SUBSTRING_INDEX(SUBSTRING_INDEX(‘192,168,8,203’,’,’,2),’,’,-1); ==>得到结果为: 168 取倒数第二个逗号后面部分字符串,再去这部分里第一个都号前的部分
python中的内置函数提供了基础功能,在实际开发中,我们需要将这些基础功能进行搭配组合,来有效解决我们的问题。如何将我们自己构建的代码作为一个可复用的工具,最基本的方法就是写成函数。...通过函数可以减少代码冗余,提高编码效率。在python中函数的基本定义如下 >>> def hello(): ... print("hello world!")...需要注意,在python中,函数在调用前必须先声明,这一点和perl不同。 通过函数名称加参数的形式,可以调用函数。在传递参数时,有以下两种方式 1....以上只是最基本的示例,关于函数的参数,还有以下几种进阶用法 1....print_info('Andy', 24, mother = 'Rose', father = 'Jack') Name:Andy Age:24 Mother:Rose Father:Jack 在函数中已经有一个可变参数的情况下
交叉熵刻画了两个概率分布之间的距离,它是分类问题中试用版比较广的一种损失函数。交叉熵是一个信息论中的概念,它原本是用来估计平均编码长度的。...这一行代码包含了4个不同的tensorflow运算。通过tf.clip_by_value函数可以将一个张量中的是数值限制在一个范围之内,这样就可以避免一些运算错误(比如log0是无效的)。...以下代码中给出一个简单的样例。...tf.greater的输入时两个张量,此函数会比较这两个输入张量中每一个元素的大小,并返回比较结果。...注意,tf.where函数判断和选择都是在元素级别进行,以下代码展示了tf.where函数和tf.greater函数的用法。
函数格式为:apply(func,*args,**kwargs)用途:当一个函数的参数存在于一个元组或者一个字典中时,用来间接的调用这个函数,并肩元组或者字典中的参数按照顺序传递给参数解析:args是一个包含按照函数所需参数传递的位置参数的一个元组...,是不是很拗口,意思就是,假如A函数的函数位置为 A(a=1,b=2),那么这个元组中就必须严格按照这个参数的位置顺序进行传递(a=3,b=4),而不能是(b=4,a=3)这样的顺序 kwargs是一个包含关键字参数的字典...,而其中args如果不传递,kwargs需要传递,则必须在args的位置留空apply的返回值就是函数func函数的返回值def function(a,b): print(a,b) apply...apply(function,('cai',),{'b':'caiquan'}) apply(function,(),{'a':'caiquan','b':'Tom'}) #--使用 apply 函数调用基类的构造函数...函数默认的是axis=0,取的是列数 A B C0 0.0 0.0 1.01 1.0 1.0 0.02 0.5 0.0 0.5
本小节中,我们着重介绍一下Python中的lambda函数。匿名函数lambda:是指一类无需定义标识符(函数名)的函数或子程序。...这时,lambda函数实际上是定义在某个函数内部的函数,称之为嵌套函数,或者内部函数。对应的,将包含嵌套函数的函数称之为外部函数。...内部函数能够访问外部函数的局部变量,这个特性是闭包(Closure)编程的基础。4.将lambda函数赋值给其他函数,从而将其他函数用该lambda函数替换。...例如,为了把标准库time中的函数sleep的功能屏蔽(Mock),我们可以在程序初始化时调用:time.sleep=lambda x:None。...这样,在后续代码中调用time库的sleep函数将不会执行原有的功能。
参考链接: Python中的reduce 1.说明 reduce:将一个可以迭代的对象应用到两个带有参数的方法上,我们称这个方法为fun,遍历这个可迭代的对象,将其中元素依次作为fun的参数,但是这个函数有两个参数...reduce(fun,sequence[,initial_val]) reduce函数有三个参数,第一个参数就是作用函数,第二个函数就是可迭代的对象,第三个是迭代初始值。 ...如果存在第三个参数,也就是有初始迭代对象,那么 initial_val作为fun函数的第一个参数, sequence 的第一个元素作为fun的第二个参数,得到返回结果的作为下一次函数的第一个参数,sequence...的第二个参数作为下一次迭代过程中的第二个参数,以此类推。 ...如果不存在第三个参数,那么sequence的第一个参数作为fun函数的第一个参数,sequence的第二个参数作为fun函数第二个参数,以此类推。
python中range()函数可创建一个整数列表,一般用在for循环中. range()函数语法: range(start,stop[,step]) 参数说明: star: 计数从star开始.默认是从