mysql获取group by的总记录行数另类方法
mysql获取groupby内部可以获取到某字段的记录分组统计总数,而无法统计出分组的记录数。
mysql的SQL_CALC_FOUND_ROWS使用获取查询的行数在很多分页的程序中都这样写:
代码如下
SELECTCOUNT(*)from`table`WHERE......;
查出符合条件的记录总数
代码如下
SELECT*FROM`table`WHERE......limitM,N;
查询当页要显示的数据这样的语句可以改成:
代码如下
SELECTSQL_CALC_FOUND_ROWS*FROM`table`WHERE......limitM,N;
SELECTFOUND_ROWS();
因此可以配合mysql自带的SQL_CALC_FOUND_ROWS和FOUND_ROWS()函数可以实现。
代码如下
SELECTSQL_CALC_FOUND_ROWSt3.id,a,bunch,of,other,stuffFROMt1,t2,t3WHERE(associatet1,t2,andt3witheachother)GROUPBYt3.idLIMIT10,20SELECTFOUND_ROWS()ascount;
使用以上两个语句即可完成满足groupby的总记录行数。
另附:
groupby的简单使用方法:
代码如下
'SELECTcolumn_id,count(*)ascountFROMmy_tablegroupbycolumn_id';