MySQL 查询总数
在 MySQL 中,查询记录总数是一个常见的需求。可以使用 COUNT() 函数来实现这一目的。COUNT() 函数返回匹配指定条件的行数。以下是几种常见的用法:
统计所有记录的数量
要统计表中所有记录的数量,可以使用以下 SQL 语句:
SELECT COUNT(*) FROM table_name;
例如,统计 users 表中的总记录数:
SELECT COUNT(*) FROM users;
统计某列的数量
要统计某列的数量,可以使用以下 SQL 语句:
SELECT COUNT(column_name) FROM table_name WHERE 条件;
例如,统计 access_log 表中 site_id 为 3 的记录数:
SELECT COUNT(count) AS nums FROM access_log WHERE site_id=3;
统计某列不重复的数量
要统计某列中不重复的值的数量,可以使用 DISTINCT 关键字:
SELECT COUNT(DISTINCT column_name) FROM table_name;
例如,统计 access_log 表中不同 site_id 的记录数:
SELECT COUNT(DISTINCT site_id) AS nums FROM access_log;
高效获取记录总数
在某些情况下,例如分页查询中,可以在一次查询中获取记录和总数。可以使用 SQL_CALC_FOUND_ROWS 参数来实现:
SELECT SQL_CALC_FOUND_ROWS * FROM goods WHERE k='avs' LIMIT 10;
SELECT FOUND_ROWS();
其中,SQL_CALC_FOUND_ROWS 告诉 MySQL 将 SQL 所处理的行数记录下来,FOUND_ROWS() 则取到了这个记录12。
通过以上方法,可以高效地查询 MySQL 数据库中的记录总数。根据具体需求选择合适的查询方式,可以提高查询效率和性能。
评论区