mysql获取group by总记录行数的方法
本文实例讲述了mysql获取groupby总记录行数的方法,分享给大家供大家参考。具体方法分析如下:
一般来说,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';
希望本文所述对大家的MySQL数据库程序设计有所帮助。