请问MySQL中怎样得到TABLE中数据的数量谢谢。

请问MySQL中怎样得到TABLE中数据的数量谢谢。,第1张

这个用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 查询记录总条数,效率很慢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9484527.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存