MySQL 优化百分比/比例计算2017年12月7日| MySql概览 通常使用 SQL 语句求百分比时,需求扫描表两次,一次是总数一次是满足条件的个数 其实可以使用 INTERVAL 函数优化,只扫描表一次(在表很大时,几乎可以少花费一半的时间) 示例 假设有一个分数表 TScore,包含班级,学号,平均分这3个字段(class, no, score) 现在想求每个班级的及格率(>=60人数/总人数*……阅读全文
MySQL select 子查询复用,进行聚合计算2017年12月5日| MySql概览 当对一个复杂的子查询结果进行分组(group by)聚合计算时, 有时需要进行多次聚合,如果不能复用自查寻的结果,查询效率会很低下 在有些情况下,可以使用 IF 函数进行不同条件的聚合 示例 假设子查询的结果有班级,学号,平均分这3个字段(class, no, score) 现在想求每个班级的总人数和及格人数 复用前 1 2 3……阅读全文
MySQL 使用 INTERVAL() 函数 实现数据按区间分组2017年11月10日| MySql定义 首先看一下它的定义: 1 INTERVAL(N,N1,N2,N3,..........) INTERVAL() 函数进行比较列表(N1,N2,N3等等)中的N值。该函数如果N<N1返回0,如果N<N2返回1,如果N<N3返回2 等等。如果N为NULL,它将返回-1。列表值必须是N1<N2<N3的形式才能正常工作。 下面的代码是显示 INTERVAL() 函数如何工作的一个简单……阅读全文