我有一张这样的表:
+---------+----------+
| column1 | column2 |
+---------+----------+
| 100 | 50 |
| 3 | 10 |
| 7 | 7 |
+---------+----------+
我想要一个SQL语句,用于比较column1
和column2
之间的数据,计算column1
的值小于column2
的值的行数
也许是这样的:
$result="select * from table where column1 <= column2";
$a = mysql_num_rows ($result);
echo $a;
在这个例子中,它会给我一个2
的结果,表示匹配的行#2和#3。
答案 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];