2011-07-26 28 views
0

我有一臺這樣的:在一個表中對比兩列

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

我想這column1column2之間的數據進行比較SQL語句,計算行數爲其column1有一個值比在column2

也許是這樣的:

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

在這個例子中,它會給我一個結果2,佔匹配的行#2,#3。

回答

3
SELECT count(*) AS total_rows 
FROM table_with_data 
WHERE column1 <= column2 
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];