这个用select 具体语法
select count(字段名) from 表名
具体到你这里就用这样的sql
select count(name) from ABCD
得到的就是记录的行数
select count() from pre_forum_thread a left join pre_forum_threadmod b on atid <> btid GROUP BY atid HAVING (asubject like '%%') AND afid = 412 and asortid =2
只记录一列的总条数会快点count(列名)。或者where条件改为city like '%扬州' or city like '扬州%',city like '%扬州%' 是进行全表查询,修改后是两个范围的扫描,性能也能提高一些,你试一试。还可以使用索引。
1
貌似是因为用myisam引擎的表存储了总条数,如果没有where或者where恒为真(比如where
1),那么count()可以直接返回总条数。
2
另外,很显然count()不是"计算所有的字段",显然mysql会把解析成“一条数据”的意思。
-- by sleest 2018/01/19
select areaID,
sum(case when datediff(begindate, enddate) < 3
then 1 else 0 end) as lt3, -- 小于3
sum(case when datediff(begindate, enddate) > 3
then 1 else 0 end) as gt3, -- 大于3
sum(case when datediff(begindate, enddate) > 6
then 1 else 0 end) as gt6, -- 大于6
sum(case when datediff(begindate, enddate) > 9
then 1 else 0 end) as gt9, -- 大于9
sum(case when datediff(begindate, enddate) > 6
and datediff(begindate, enddate) <= 9
then 1 else 0 end) as gt6_le9 -- 大于6小于等于9
from user
group by areaID
sum(1)就是1这个数值,count(1)相当于第一列的名字,虽然统计行结果是一样的,从效率上还是推荐count。显然对于和name知道主键列的直接指定会更好,不知道的话用星号也无妨。
mysql 同时查出所有条目及条目总数方法如下:
select acolid,count(bcolid) as num from ua_columns as a left join ua_article as b on acolid = bcolid where num > 0;
MySQL 返回:
#1054 - Unknown column 'num' in 'where clause'
以上就是关于请问MySQL中怎样得到TABLE中数据的数量谢谢。全部的内容,包括:请问MySQL中怎样得到TABLE中数据的数量谢谢。、mysql 语句 求查询总数、mysql Count 查询记录总条数,效率很慢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)