2011-07-26 6 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와 3 #을 대표 2의 나에게 결과를 줄 것이다.

답변

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

해당 쿼리를 실행 해 보셨습니까? 그것은 당신이 찾는 답을 줄 것입니다.

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

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

그러나,보다는 MySQL의에서 모든 데이터를 검색 - 더 - 사실 후에 계산보다, MySQL의에서 카운트를 검색하는 것이 더 효율적이 될 것입니다

관련 문제