最近遇到一個(gè)業(yè)務(wù)需求, 需要查找滿足條件且連續(xù)3出現(xiàn)條以上的記錄。
成都創(chuàng)新互聯(lián)公司于2013年創(chuàng)立,先為類烏齊等服務(wù)建站,類烏齊等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為類烏齊企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
表結(jié)構(gòu):
CREATE TABLE `cdb_labels` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`type` int(11) NOT NULL DEFAULT '0' COMMENT '標(biāo)簽類型:1喜歡異性類型,2擅長(zhǎng)話題',
`content` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '標(biāo)簽內(nèi)容',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=utf8 COMMENT='標(biāo)簽內(nèi)容';
1
2
3
4
5
6
7
8
所有數(shù)據(jù): SELECT * FROM cdb_labels WHERE type = 1;
可以用 CONCAT把查詢語(yǔ)言與變量連接起來(lái)再執(zhí)行,參考如下代碼。
DELIMITER //
CREATE PROCEDURE GetItems()
BEGIN
SELECT @total := count(id) FROM items;
SET @sql = CONCAT('SELECT id, title FROM items LIMIT 0,', CEIL(@toal/2));
PREPARE stmt FROM @sql;
EXECUTE stmt;
END //
DELIMITER ;
希望這個(gè)思路對(duì)你有幫助,可以將limit后面設(shè)置為變量!
$total=0; //預(yù)設(shè)變量,用于存放累加結(jié)果
$sql="查詢語(yǔ)句";
$sql=mysql_query($sql);
while($as=mysql_fetch_array($sql)){
$total=$total+$as[0];
}
還有一種辦法更好,假如你要累加的字段名為 price, 則:
$sql="select sum(price) as total from 表名 where 條件";
$sql=mysql_query($sql);
$as=mysql_fetch_array($sql);
$as['total']..... //這里就是你想要的累加結(jié)果,直接讓 mysql 做了,php里你就省去循環(huán)取值,估計(jì)效率好些。