SQL语句统计疑问求助

来源:百度知道 编辑:UC知道 时间:2024/09/22 18:32:43
{dede:sql sql="select count(ID) as c from dede_archives where channel=3"}本站共有软件: [field:c /] 个{/dede:sql}

这个语句统计出来的是ID数了。我的ID最后一个数是1520 可是我的总记录数才569 怎么解决这个问题呀
<li>{dede:sql sql="select count(*) as c from dede_archives where channel=3"} 本站共有软件: [field:c /] 个{/dede:sql}</li>
逐鹿传说说的也不行,

1520 是你ID字段的自增长值。
569 是你用了where 条件后筛选出来的ID字段记录的总数。
也就是说,channel=3条件下的ID字段的记录总数是569。

一般情况你要用sql语句得到记录总数,可以用count(*)。
如果有条件就加上where如果要统计该表的记录总数就不要加where条件。

如果你的id是自增长的 那么有可能是你有删除记录的操作
不管怎么样 id的值和记录数量是不一样的
两者不是必须相等的
你的总记录数应该这么查:

select count(*) as c from dede_archives

晕 ,你的这个应该是正常的啊,后面有where语句撒,很多频道的记录ID在表里是递增的,那表示还有别的记录。