`

如何用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),必须指明是哪个表的

分享到:
评论

相关推荐

    使用distinct在mysql中查询多条不重复记录值的解决办法

    在 MySQL 中,使用 distinct 关键字可以过滤掉重复记录,只保留一条。但是,这个关键字只能返回它的目标字段,而无法返回其它字段。这使得在查询多条不重复记录值时,distinct 并不能完全解决问题。 例如,在一个...

    MySql面试题.doc

    使用`LIMIT`关键字,例如`LIMIT offset, length`,offset指定开始位置,length指定返回记录数量。 18. MySQL常见数据类型? - INT:整数类型。 - DOUBLE:浮点数类型。 - DECIMAL:精确数值类型,常用于财务...

    MySQL命令详解(命令及释义)

    MySQL是一个广泛使用的开源关系型数据库管理系统,它使用SQL(结构化查询语言)作为其数据库操作的主要语言。在进行数据库操作时,掌握各种命令及其用法对于数据库的维护和数据操作来说至关重要。以下将详细解析...

    MySQL五种报错注入1

    SELECT DISTINCT CONCAT(0x7e, schema_name, 0x7e) FROM information_schema.schemata LIMIT 0, 1; ``` 这将返回第一个数据库名称,并通过错误信息可以获取其他数据库名。 5. **暴露表的名称** 利用`...

    将MSSQL改写为MYSQL的经验

    - SQL的基本结构包括:`SELECT`、`FROM`、`WHERE`、`GROUP BY`、`HAVING`、`ORDER BY`、`LIMIT`等关键字。 13. **表连接** - MySQL支持不同类型的表连接,包括`INNER JOIN`(内连接)、`LEFT OUTER JOIN`(左外...

    mySQL培训手册

    - **1.2.3.4.13 where语句—使用关键字limit限制查询结果条数** - 使用`SELECT * FROM 表名 LIMIT 数量;`限制查询结果的数量。 - **1.2.3.4.14 MySQL函数—字符串处理函数** - 如`UPPER()`, `LOWER()`, `CONCAT...

    mysql查询语句及很好用

    这些知识点涵盖了从基本的SELECT语句到更复杂的查询技巧,例如使用IN、CONCAT、LOCATE等函数以及GROUP BY、HAVING子句的应用。 ### 1. 基本SELECT语句 #### 知识点一:基础查询 在MySQL中,`SELECT`是最常用的SQL...

    Mysql知识点总结.pdf

    - 检索唯一值:使用DISTINCT关键字检索唯一不同的值。 - 限制输出:使用LIMIT来限制查询结果的数量。 - 注释:SQL注释用于解释SQL语句,以增加可读性。注释不能跨行。 3. ORDER BY排序: - 单列排序:通过ORDER...

    计算机二级《MySQL数据库程序设计》知识点总结.pdf

    接着,文档演示了使用 DISTINCT 关键字去除查询结果中的重复行,LIMIT用于限制查询结果数量,以及ORDER BY的排序功能。此外,还介绍了在Where子句中如何使用比较运算符、逻辑运算符(AND/OR)、范围运算符(BETWEEN)和...

    解析mysql中:单表distinct、多表group by查询去除重复记录

    在文中提到的特定问题中,由于MySQL 4.0版本不支持`GROUP_CONCAT()`函数,作者通过升级到4.1版本或者使用`COUNT(DISTINCT)`解决了问题。`GROUP_CONCAT()`在更高版本的MySQL中可以用来组合字段值,同时去除重复,例如...

    mysql数据库故障排除方案.pdf

    * 查询 Top 10 大表:使用 `mysql>SELECT CONCAT(table_schema, '.', table_name),CONCAT(ROUND(table_rows / 1000000, 2), 'M') rows,CONCAT(ROUND(data_length / ( 1024 * 1024 * 1024 ), 2), 'G') DATA,CONCAT...

    MYSQL学习笔记

    ### MySQL学习笔记知识点详解 #### 一、MySQL简介与安装配置 ...以上是基于给定的MySQL学习笔记内容所总结的关键知识点,这些内容覆盖了MySQL的基础操作、数据类型、数据库管理等方面,对于初学者来说非常实用。

    MySQL命令大全

    mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt”INTO TABLE MYTABLE; 9:导入.sql文件命令(例如D:/mysql.sql) mysql>use database; mysql>source d:/mysql.sql; 10:删除表 mysql>drop TABLE MYTABLE; 11:...

    mysql动态行转列

    - **第一步**:使用`SELECT DISTINCT`获取所有的科目名称,并使用`CONCAT`函数构建SQL语句片段。这里的关键是使用`IF`语句判断科目是否匹配,如果匹配则取该科目的分数,否则取0。 - **第二步**:使用`CONCAT`函数...

    有关MySQL数据库与标准的兼容性问题 电脑资料.docx

    MySQL数据库是一种广泛使用的开源关系型数据库管理系统,它在遵循SQL标准的同时,也包含了一系列特有的语法扩展和优化,这些特性使得MySQL在某些方面与其他SQL数据库有所不同。以下是对标题和描述中涉及的一些MySQL...

    2023-MySQL面试必备25题及答案

    使用`LIMIT`子句可以获取结果集的前n行,如`SELECT * FROM table LIMIT 0, 50;`。 14. **索引列的数量**: 一个索引最多可以包含16个列。 15. **NOW()与CURRENT_DATE()的区别**: NOW()返回当前日期和时间,...

    解析mysql不重复字段值求和

    在MySQL 4.1及更高版本中,可以使用`GROUP_CONCAT(DISTINCT name)`来获取每个`name`的列表,但此功能在4.0版本中不可用。若在旧版本的MySQL中,可以尝试使用`COUNT(DISTINCT name)`作为替代。 值得注意的是,`GROUP...

    计算机二级《MySQL数据库程序设计》知识点总结.doc

    `DISTINCT`关键字用于去除重复行。`LIMIT`用于限制返回的行数,如`LIMIT 4,5`表示跳过前4行,返回接下来的5行。 2. 数据排序:`ORDER BY`用于对结果集进行升序(`ASC`)或降序(`DESC`)排序,如`ORDER BY prod_id ASC,...

Global site tag (gtag.js) - Google Analytics