每天总得有点什么事儿,华为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
有点困了,重要的内容明天继续练习,不放在这效率不高的时候了。