[MySQL]子语句的查询技巧

Posted yiyide266

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[MySQL]子语句的查询技巧相关的知识,希望对你有一定的参考价值。

一、统计group by语句的行数

group by语句中,如果包含字段统计函数(诸如:count(),sum()...),这种情况下统计函数只会作用于group by的字段,因此想拿到最终结果的行数,只能靠返回结果后通过程序去遍历统计行数,这里有一个问题,如果被查询的结果过于庞大,这将耗费大量的系统资源,运用子查询可以解决这个问题

SELECT count(a.id) AS count FROM (SELECT id, sum(credit) AS credits FROM log_collect WHERE credit > 1 GROUP BY usage_type HAVING credits > 8900) AS a

有几点需要注意的是:

1.你必须指定一个统计字段给函数(这里是count函数,指定了a.id),不能是a.*;

2.子表必须带别名;

以上是关于[MySQL]子语句的查询技巧的主要内容,如果未能解决你的问题,请参考以下文章

MySQL数据库代码中,两个exists语句同时出现同一查询语句中时,怎么理解,,越详细越好。,

Mysql第八期 子查询

MySQL语句优化技巧?

mysql使用技巧 行类视图子查询

MySQL的SQL语句 - 数据操作语句(13)- 子查询

EasyClick 之 MySQL 子查询