`

如何用IN、LIMIT、CONCAT、DISTINCT等MySQL关键字

阅读更多
记录一些select的技巧:

1、select语句可以用回车分隔

$sql="select * from article where id=1"

和 $sql="select * from article

where id=1",都可以得到正确的结果,但有时分开写或许能更明了一点,特别是当sql语句比较长时


2、批量查询数据

可以用in来实现

$sql="select * from article where id in(1,3,5)"


3、使用concat连接查询的结果

$sql="select concat(id,"-",con) as res from article where id=1"

返回"1-article content"


4、使用locate

用法:select locate("hello","hello baby");返回1

不存在返回0


5、使用group by

以前一直没怎么搞明group by 和 order by,其实也满简单的,group by 是把相同的结果编为一组

exam:$sql="select city ,count(*) from customer group by city";

这句话的意思就是从customer表里列出所有不重复的城市,及其数量(有点类似distinct)

group by 经常与AVG(),MIN(),MAX(),SUM(),COUNT()一起使用


6、使用having

having 允许有条件地聚合数据为组

$sql="select city,count(*),min(birth_day) from customer

group by city having count(*)>10";

这句话是先按city归组,然后找出city地数量大于10的城市

btw:使用group by + having 速度有点慢

同时having子句包含的表达式必须在之前出现过


7、组合子句

where、group by、having、order by(如果这四个都要使用的话,一般按这个顺序排列)


8、使用distinct

distinct是去掉重复值用的

$sql="select distinct city from customer order by id desc";

这句话的意思就是从customer表中查询所有的不重复的city


9、使用limit

如果要显示某条记录之后的所有记录

$sql="select * from article limit 100,-1";


10、多表查询

$sql="select user_name from user u,member m

where u.id=m.id and

m.reg_date>=2006-12-28

order by u.id desc"

注意:如果user和member两个标同时有user_name字段,会出现mysql错误(因为mysql不知道你到底要查

询哪个表里的user_name),必须指明是哪个表的

分享到:
评论

相关推荐

    【GROUP_CONCAT】使用之MySQL官方文档翻译

    【GROUP_CONCAT】使用之MySQL官方文档翻译

    mysql字符串比较函数:concat和regexp.pdf

    mysql字符串比较函数:concat和regexp.pdf

    在MySQL concat里面使用多个单引号,三引号的问题

    在动态拼接字符串时,我们常会用到字符拼接,我对拼接的引号不理解,如: 1、”’+ id +”’ 为什么是3个引号,为什么左边一个加号右边一个加号(能不能着重帮我解释下这个,详细点) SQL code ...

    浅谈mysql中concat函数,mysql在字段前/后增加字符串

    下面小编就为大家带来一篇浅谈mysql中concat函数,mysql在字段前/后增加字符串。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    MySQL GROUP_CONCAT限制解决方案

     如果需要自定义分隔符可以使用 SEPARATOR  如: SELECT GROUP_CONCAT(name SEPARATOR '_') FROM user 限制:  GROUP_CONCAT 拼接的字符串的长度字节默认长度1024个字节,超过则会被截断。 查询默认长度:  ...

    详解MySQL中concat函数的用法(连接字符串)

    本篇文章主要介绍了MySQL中concat函数的用法(连接字符串),在命令行模式下进行测试。具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

    如何修改Mysql中group_concat的长度限制

    用了group_concat后,select里如果使用了limit是不起作用的. 用group_concat连接字段的时候是有长度限制的,并不是有多少连多少。但你可以设置一下。 使用group_concat_max_len系统变量,你可以设置允许的最大...

    MySQL多种递归查询方法.docx

    concat,concat_ws,group_concat 函数 MySQL 自定义函数 手动实现 MySQL 递归查询 Oracle 递归查询 在 Oracle 中是通过 start with connect by prior 语法来实现递归查询的。 按照 prior 关键字在子节点端...

    MySQL中group_concat函数深入理解

    本文通过实例介绍了MySQL中的group_concat函数的使用方法,需要的朋友可以适当参考下

    mysql字符串连接函数

    mysql> select id,group_concat(distinct name) from aa group by id; +------+-----------------------------+ | id| group_concat(distinct name) | +------+-----------------------------+ |1 | 10,20| |2 | 20 ...

    MySQL核心技术视频.zip

    26_使用concat实现连接 27_案例讲解】基础查询 28_条件查询介绍 29_条件运算符的使用 31_模糊查询—like关键字 32_模糊查询—between and关键字 33_模糊查询—in关键字 34_模糊查询—is null关键字 35_【补充】安全...

    mysql如何将多行数据合并成一行

    select group_concat(list_name) from aa_list 您可能感兴趣的文章:MySql采用GROUP_CONCAT合并多条数据显示...concat()函数用法总结MySQL统计函数GROUP_CONCAT使用陷阱分析mysql的group_concat函数使用示例MySQL中gro

    MySQL中的CONCAT函数使用教程

    使用MySQL CONCAT()函数将两个字符串连接起来,形成一个单一的字符串。试试下面的例子: mysql> SELECT CONCAT('FIRST ', 'SECOND'); +----------------------------+ | CONCAT('FIRST ', 'SECOND') | +-----------...

    MySQL拼接字符串函数GROUP_CONCAT详解

    上一篇文章 跨表更新,看到自己写的SQL像个憨憨写了关于跨表个更新的内容。一年过的很快,文中后来的两位员工 ...在 Mysql 官方文档 中,该函数被放在聚合函数章节,如果你要按照指定字段分组拼接,就要配合关键字 GRO

    mysql group_concat()函数用法总结

    本文实例讲述了mysql group_concat()函数用法。分享给大家供大家参考,具体如下: group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果。比较抽象,难以理解。 通俗点理解,其实是...

    mysql的group_concat函数使用示例

    MySQL中group_concat函数,完整的语法如下: 代码如下:group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator ‘分隔符’]) 基本查询 代码如下:select * from aa; 代码如下:+——+——+|...

Global site tag (gtag.js) - Google Analytics