mysql查询的一个字段并循环出来的数据,能加在一起吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql查询的一个字段并循环出来的数据,能加在一起吗?相关的知识,希望对你有一定的参考价值。

$sql="查询语句";
$sql=mysql_query($sql);
while($as=mysql_fetch_array($sql))
$as[0];


怎么才能让循环出的$as[0]这个数相加并赋给一个变量! 直接写$as[0]+; 不管用;

求高手帮忙!

$total=0; //预设变量,用于存放累加结果
$sql="查询语句";
$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']..... //这里就是你想要的累加结果,直接让 mysql 做了,php里你就省去循环取值,估计效率好些。
参考技术A $result=0;
$sql="查询语句";
$sql=mysql_query($sql);
while($as=mysql_fetch_array($sql))
$result+=$as[0];

echo $result;
参考技术B 可以用聚合函数

MySql根据字段名查询重复记录并删除!只保留一条

最近在处理业务数据的时候!在几W条记录里存在着些相同的记录,如何用SQL语句,删除掉重复的呢?

可以用以下方法进行处理

其实很简单!就是查找表中多余的重复记录,重复记录是根据单个字段来查询、然后删除其他重复的记录即可

查询重复记录

SELECT  id ,title from  topic GROUP BY title HAVING count(*) > 1;

这样查出来的结果比较乱

查询全部的重复记录并分组

​​​​SELECT
	* 
FROM
	topic 
WHERE
	title IN ( SELECT title FROM topic GROUP BY  title HAVING Count(*)> 1 ) 
	AND title IN (
	SELECT
		title 
	FROM
		topic 
	GROUP BY
		title
HAVING
	count(*)> 1) ORDER BY title

对查询结果进行分组根据需要的字段 

查询除第一条外的多余数据

SELECT
	*
FROM
	topic
WHERE
	id NOT IN (
		SELECT
			dt.minId
		FROM
			(
				SELECT
					MIN(id) AS minId
				FROM
					topic
				GROUP BY
				title
			) dt
	)
ORDER BY
	title

删除第一条外的多余数据

DELETE
FROM
	topic
WHERE
	id NOT IN (
		SELECT
			dt.minId
		FROM
			(
				SELECT
					MIN(id) AS minId
				FROM
					topic
				GROUP BY
					title
			) dt
	)
ORDER BY
	title

以上是关于mysql查询的一个字段并循环出来的数据,能加在一起吗?的主要内容,如果未能解决你的问题,请参考以下文章

access怎么在查询中把来自两个表的值加在一起?

mysql 查询某个字段并拼接case when出来的字段

mongodb查询,如何只查询出某一个字段的值?

Mysql 数据字段值是用逗号隔开,如何写SQL语句

java 怎样查询MYSQL数据库中的数据;根据id字段查询,获取id 对应的一行数据,并显示 在标签上。

用PHP+mysql查询两个表,然后怎么样把已经查出来的两个数组合并在一起,两张表里有一个相同的字段