
MYSQL语句
longxuu
这个作者很懒,什么都没留下…
展开
-
mysql 联合查询中and or的使用
需求环境:功能:简历搜索需求:求职类型中可以选择全职、兼职、临时工、实习生一种或者多种,但是一份简历又只有一种,要将满足任一条件的简历全部列出来障碍:or 的任一条件为TRUE即停止判断,and条件取交集SELECTt_person_info.personid原创 2011-08-03 22:53:40 · 766 阅读 · 0 评论 -
在MYSQL语法中使用trim函数删除两侧字符
在实际开发中,你总是会遇到这种情况或者遇到这种情况 数据多了也会令你抓狂,如果还在用select fields from table where like '/%' 绝对是一个吃力不讨好的做法,那么,仔细研究MYSQL自带函数那绝对是首要工作。我第一时间就是想到,PHP函数中的trim是不是也可能用到mysql中呢,回答是肯定的。你可以从MYSQL手册中找原创 2012-12-18 10:55:12 · 5659 阅读 · 1 评论 -
MYSQL 两个经纬度之间的距离由近及远排序
select *,(2 * 6378.137* ASIN(SQRT(POW(SIN(PI()*(111.86141967773438-lat)/360),2)+COS(PI()*33.07078170776367/180)* COS(lat * PI()/180)*POW(SIN(PI()*(33.07078170776367-lng)/360),2)))) as juli from `area`原创 2012-10-12 16:33:52 · 6393 阅读 · 0 评论 -
MYSQL SET类型字段的SQL操作知识
`mark` set('index','best','hot')用的人少,懂的人也少,找了很久,总算凑齐了一套知识点看上面的结构,MYSQL不傻,会存index吗,不会,存的是数字SET字段是利用二进制数字来一一对应你设置的值,比如index,排在第0位,那么2的零次方等于1 update from table SET mark=1update from table SET m原创 2012-07-31 22:58:45 · 3347 阅读 · 0 评论 -
MySQL Left JOIN时指定NULL列返回特定值
我们有时会有这样的应用,需要在sql的left join时,需要使值为NULL的列不返回NULL而时某个特定的值,比如0这个时候,用is_null(field,0)是行不通的,会报错的,可以用ifnull实现,但是COALESE似乎更符合标准。 coalesce 函数可以接受多个参数,将会返回这些参数中第一个非NULL的值,若提供的参数全部为NULL,则返回NULLifnull原创 2012-08-02 12:37:12 · 1528 阅读 · 0 评论 -
MySQL 关于表复制 insert into 语法
转自:http://kiven.196tuan.com/?p=136web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码。下面我以mysql数据库为例分情况一一说明:两张表:insertTest和insertTest2,前者中有测试数据转载 2012-03-12 15:42:46 · 1323 阅读 · 0 评论 -
关于一个MYSQL语法(在查询中使用count)的兼容性问题
简单来说就是在查询中使用count以及更多字段select count(id),id,name from table很尴尬的,我的环境是5.5的,这个是能获取到结果的,但是运行到服务器就不行了好吧,报了一个错误#1140 - Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP colum原创 2012-02-02 10:50:33 · 2564 阅读 · 0 评论 -
GROUP_CONCAT与LIMIT并存的技巧
我于去年12月初在论坛求教了高手后知道了答案,这个是在培训中学不到的,呵呵。在使用了GROUP_CONCAT后,如果不使用GROUP BY,会将所有的数据合并在一起,并且limit是没有任何效果的。当时我的需求很简单:我有一万条文章数据要进行替换,我想每次替换一百条。当然,也有朋友说可以在MYSQL里面用正则,这个是后话,我们要求就是将数据合并取出,处理后又放回去。很的道理,如果我能一次取原创 2012-01-12 23:27:15 · 10802 阅读 · 0 评论 -
update数据后面拼接数据(适合做历史记录冗余)
有这样一个需求,有一个职位,须要将它的增值服务操作信息全部记录下来在记录的时候不可能把原来的数据删除,于是我就想,MYSQL是否有一种语法,不用select原来的数据后再update,而是直接在update中直接拼接很幸运,我找到了这种语法,感谢搜索引擎大神,更感谢在网络上分享这个语法的前辈 语法为CONCAT(IFNULL(字段名,''),'','需要附加的字符串') 完原创 2011-10-26 00:51:45 · 1963 阅读 · 0 评论 -
MYSQL联合查询中GROUP_CONCAT、MAX、year使用
这个是昨天遇到的事了,是写简历搜索器的时候遇到的,查阅了很多的资料,这里记录一下一些SELECT联合查询中遇到的一些问题并附带解决办法首先上例子:$sql="";$sql.=" SELECT ";$sql.=" ".T_."person_info.personid原创 2011-08-03 22:54:51 · 2392 阅读 · 0 评论 -
MYSQL 批量替换之replace语法的使用
实际需求中,需要对某张表某字段里面的内容进行批量替换,普通的思考流程如下:SELECT出来str_replace替换UPDATE写入实际这样极其浪费资源以及消耗资源,MYSQL内置了一个批量替换的语法 UPDATE table SET field = re原创 2011-08-15 15:09:13 · 2574 阅读 · 0 评论 -
多条数据查询时取MAX值并且获取对应的其它字段的值(初级版)
今天遇到了一个查询学历表的问题,就是一个个人用户可能存在很多条学历经历,那么在前台展现的时候,我们应该展现的是最大的值并且获取最大学历对应的毕业学校与专业。百度了一下,发现一个办法很不错,特意共享一下SELECT * FROM tableA a WHERE a.mark原创 2011-08-04 16:58:16 · 3373 阅读 · 0 评论 -
MYSQL 每个用户取1条记录的三种写法(group by xxx)
今天以前的同学问我关于这方面的SQL语句,我特意记忆一下,毕竟这个也比较常见了select * from (select * from member_payment order by id desc) t group by member_id limit 10第一种是先排序,然后group,这样的话自然可以取到最适合的一条数据。缺点很明显:Usin原创 2013-06-01 16:24:48 · 8056 阅读 · 0 评论