select * from 表名字 where 条件(可不加) limit n,m (n表示开始位置,m表示结束位置)
成都创新互联公司从2013年成立,先为攀枝花等服务建站,攀枝花等地企业,进行企业商务咨询服务。为攀枝花企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
在需要输出网站用户注册数,或者插入数据之前判断是否有重复记录的时候,就需要获取满足条件的MySQL查询的记录数目。
第一种方法:查询时候直接统计
复制代码
代码如下:
$sql="SELECT
COUNT(*)
AS
count
FROM
TABLE
WHERE
id='$id'";
$result=mysql_fetch_array(mysql_query($sql));
$count=$result['count'];
第二种方法:先取出,后统计
复制代码
代码如下:
$sql="SELECT
*
FROM
TABLE
WHERE
id='$id'";
$result=mysql_fetch_array(mysql_query($sql));
$count=count($result);//或者$count=mysql_num_rows($result);
不过直接使用MySQL的COUNT(*)在数据量庞大的时候,效率的优势是十分显著的,因为后者需要二次计算,所以还是最好使用前者进行数据条数的统计。
在 Time、General、UserID 上都有索引吗
两句应该合在一起写
list($EarlyTime, $LatestTime) = mysql_fetch_row(mysql_query("select min(Time), max(Time) from user where General=1 and UserID='".$row['DatID']."'"));
问题里面的查询并没有写出来,只是把结果集进行了处理,从第二条记录开始要在查询里面加入limit 1,n。
limit后面的1,代表从第1+1条开始,也就是第二条;
n代表取的条数,取10条,就是10;
问题中,$new这个变量应该是查询结果,看看这个变量赋值的地方。
首先,应该建议在SQL语句上控制,例如在ACCESS、SQL SERVER里面这样写:
SELECT TOP 5 * ......
在MYSQL下应该这样写:
SELECT ......... LIMIT 5
此外,要在while里面循环,可以这样修改:
$i=1;
while(....)
{
$i++;
if ($i5) break;
}