MySQL第三天 基本正则表达式练习 限定结果查询 查询结果分组

每天总得有点什么事儿,华为P40发布会看余大嘴说蹩腿的英文还津津有味,真香。。。。。。感受到了科技的进步,代码的进步。。。。。。

11点了,赶紧再学习点姿势。。。

昨天学到正则表达式,今儿继续昨天的表的正则表达式联系,cookbook上的案例学一下好了:

找出名字以Se开头的用户信息:

SELECT * FROM users WHERE first_name LIKE 'Se%';

SELECT * FROM users WHERE first_name REGEXP '^Se';

SELECT * FROM users WHERE first_name RLIKE  '^Se';

找出first_name 以ea结尾的用户信息:

SELECT * FROM users WHERE first_name REGEXP 'ea$';

以特定字母开头,字母放在^的后面,以特定字母结尾,字母放在$前面。

查找姓氏不包含 i o u 的所有人员信息:

SELECT * FROM users WHERE last_name NOT REGEXP '[iou]';

限定结果查询:到这里没有教科书里简单的例子,就用zabbix的数据库吧。

查询告警等级小于5的任何10个告警数据的ID, NAME SERVERITY

SELECT eventid, name, severity FROM events WHERE severity < 5 LIMIT 10;

多写了写条件

使用表别名:默认情况下,SELECT 子句中给出的任何列都将显示在结果中。在前面的示例中,我们已经得出了统计数值,但它显示为COUNT(*).你可以使用AS 别名来更改COUNT(*):

SELECT COUNT(*) AS count  FROM events WHERE severity =5;

对查询结果进行排序:ORDER BY

SELECT eventid, name, severity FROM events WHERE severity =5 AND name REGEXP '^PDU' ORDER BY name LIMIT 10;

可以指定列的位置而不是名称来排序,例如

SELECT eventid, name, severity FROM events WHERE severity =5 AND name REGEXP '^PDU' ORDER BY 2 LIMIT 10;

以第几列排序,一样的效果

对结果分组:聚合函数 GROUP BY  AGGREGATE


有点困了,重要的内容明天继续练习,不放在这效率不高的时候了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容