一.统计group by语句的行数 group by语句中,如果包含字段统计函数(诸如:count(),sum()...),这种情况下统计函数只会作用于group by的字段,因此想拿到最终结果的行数,只能靠返回结果后通过程序去遍历统计行数,这里有一个问题,如果被查询的结果过于庞大,这将耗费大量的系统资源,运用子查询可以解决这个问题 ) AS a 有几点需要注意的是: 1.你必须指定一个统计字段给函数(这里是count函数,指定了a.id),不能是a.*: 2.子表必须带别名;…
第一种:show profiles 之类的语句来查看 1.查一下profile是不是打开了,默认是不打开的. mysql> show profiles; Empty set (0.02 sec) mysql> show variables like "%pro%"; +---------------------------+-------+ | Variable_name | Value | +---------------------------+-------+ | p…
students表 id class_id name gender score 1 1 小明 M 90 2 1 小红 F 95 3 1 小军 M 88 4 1 小米 F 73 5 2 小白 F 81 6 2 小兵 M 55 7 2 小林 M 85 8 3 小新 F 91 9 3 小王 M 89 10 3 小丽 F 88 classes表 id name 1 一班 2 二班 3 三班 4 四班 ①基本查询 SELECT * FROM students; SELECT * FROM classes;…
1.子语句查询 1.1子语句查询出来的结果集作为临时表名使用 select * from (select * from person) as aaa; -- as这个起别名关键字是可以省略的 1.2查询最大工资那个人的薪水和姓名 select name, salary from person where salary = (select MAX(salary) from person); 1.3查询工资高于所有人员平均工资的人员 select * from person where salary…
MYSQL SQL语句技巧初探(一) 本文是我最近了解到的sql某些方法()组合实现一些功能的总结以后还会更新: rand与rand(n)实现提取随机行及order by原理的探讨. Bit_and,bit_or,bit_count等位操作方法实现统计功能. rand与rand(n)提取 使用order by rand(n)配合limit n可以提起相应的n个随机样本. 如:select * from student grade=’2’ order by rand() limit 5 随机提…
IN为什么慢? 在应用程序中使用子查询后,SQL语句的查询性能变得非常糟糕.例如: SELECT driver_id FROM driver where driver_id in (SELECT driver_id FROM driver where _create_date > '2016-07-25 00:00:00'); 独立子查询返回了符合条件的driver_id,这个问题是解决了,但是所用的时间需要6秒,可以通过EXPLAIN查看SQL语句的执行计划: 可以看到上面的SQL语句变成了相…