做一些数据库查询,不仅希望得到要查询的结果,还希望方便地计算一下查询结果中有多少条记录。我通常的做法是:
成都创新互联公司从2013年成立,先为陵城等服务建站,陵城等地企业,进行企业商务咨询服务。为陵城企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
$q = "select * from $fromTable where $where limit $start,$pageSize";
$r = mysql_query($q);
$q = "select count(*) from $fromTable where $where";
$cnt = mysql_query($q);
当 然可以用mysql_num_rows()或者mysql_affected_rows()来在第一次查询后得到记录数目,但是这两个函数返回的都是查询 后得到的结果的数目,是受limit语句的影响的。很多情况下,需要知道这条查询语句在没有limit的情况下结果总数,比如分页查询。
mysql 中本身支持一种更好的方法来达到上面的效果,那就是使用SQL_CALC_FOUND_ROWS和FOUND_ROWS()函数。
mysql的位函数,就是将数字转换成2进制,各位求与。举个例子2915 结果是13。29的二进制是11101,15的二进制是1111,位运算 11101+01111------------ 0110101101的十进制是13。在Oracle里面是BITAND(nExpression1, nExpression2) 参数 nExpression1, nExpression2 指定按位进行 AND 运算的两个数值。这个函数进行位运算,MySQL我没怎么用,希望有帮助
select C.c from ((select a from A)-(select b from B)) C;减
select C.c from ((select a from A)+(select b from B)) C;加
select C.c from ((select a from A)*(select b from B)) C;乘
select C.c from ((select a from A)/(select b from B)) C;除
或者
select ((select a from A)-(select b from B));减
select ((select a from A)+(select b from B));加
select ((select a from A)*(select b from B));乘
select ((select a from A)/(select b from B));除
算术运算符中的加(+),用于获取两个或两个以上数据的和,可以两个数相加或多个数据相加,如下图所示:
算术运算符的减(+),是用于一个数据减去另外一个数据,或者一个数据减去多个数据,如下图所示:
算术运算符的乘(*),是用于一个数据乘以另外一个数据或多个数据,获取乘的结果,如下图所示:
算术运算符的除(/),是一个数除以另外一个数据或多个,获取返回的商,如下图所示:
另外,算术运算符还有一种取模运算,就是一个数除以另外一个数获取余数,如下图所示:
6
算术运算符中除和取模运算,都是一个数除以另一个数,这时如果被除数为0,这时就会出现问题,返回结果为null,如下图所示: