比较一个表中的两列

时间:2011-07-26 02:33:37

标签: php mysql

我有一张这样的表:

+---------+----------+
| column1 |  column2 |
+---------+----------+
|   100   |    50    |
|    3    |    10    |          
|    7    |     7    |
+---------+----------+

我想要一个SQL语句,用于比较column1column2之间的数据,计算column1的值小于column2的值的行数

也许是这样的:

$result="select * from table where column1 <= column2";
$a = mysql_num_rows ($result);
echo $a;

在这个例子中,它会给我一个2的结果,表示匹配的行#2和#3。

2 个答案:

答案 0 :(得分:3)

SELECT count(*)  AS total_rows  
FROM table_with_data   
WHERE column1 <= column2

答案 1 :(得分:1)

您是否尝试过运行该查询?在我看来,它会给你所寻求的答案。

$result = mysql_query("SELECT * FROM `table` WHERE `column1` <= `column2`");
echo mysql_num_rows($result);

然而,从MySQL检索计数会更有效,而不是从MySQL中检索所有数据,然后在事后计算它:

$result = mysql_query("SELECT COUNT(*) AS `n` FROM `table` WHERE `column1` <= `column2`");
$row    = mysql_fetch_assoc($result);
echo $row[0];