2010-05-16 6 views
1

버그가있는 것처럼 보이는 MySql select 쿼리가 있지만 "녹색"으로 표시되어 단순히 볼 수 없으므로 도움이 될 수 있습니까? 여기

쿼리입니다 : 사전에 도움을
간단한 SELECT 쿼리 문제

SELECT node_id 
    FROM rate 
WHERE node_id='".$cat_node_id_string."' 
LIMIT ".$node_count_star.",".$node_count_end."  
ORDER BY SUM(amount) 
GROUP BY node_id 

감사합니다 ...

UPDATE :
나는 ... 그것을 명확하게하기 위해 MySQL의 오류를 게시 할 예정입니다

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GROUP BY node_id LIMIT 1,20' at line 5

+1

limit의 첫 번째 매개 변수는 결과가 시작될 위치를 나타내고 두 번째 매개 변수는 결과가 표시 될 위치를 나타냅니다. 따라서 5,10은 5 개의 결과를 표시하지 않고 10 (5 번째 결과 행에서 시작)을 표시합니다. – Simon

+1

정확히 무엇이 반환 될 것으로 기대합니까? 결과를 하나의'node_id'로 제한하기 때문에'GROUP BY'는 한 줄만 반환 할 것이므로'ORDER BY'와'LIMIT'는 무의미합니다. 그러나 시퀀스는'SELECT .. FROM .. WHERE .. GROUP BY .. ORDER BY .. LIMIT'이어야합니다. –

답변

2

시도해주세요.

SELECT node_id 
    FROM rate 
WHERE node_id='".$cat_node_id_string."' 
ORDER BY SUM(amount) 
GROUP BY node_id 
LIMIT ".$node_count_star.",".$node_count_end."  

결과는 $cat_node_id_string이 포함 된 단일 레코드가됩니다.

  • WHERE node_id='".$cat_node_id_string."'을 사용하면 node_id가 정확한 문자열과 일치하는 레코드 만 반환하도록 MySQL에 지시합니다. GROUP BY node_id
  • 는 하나
0

귀하의 오류로 그룹에 모든 레코드를 MySQL의 말 : 콤마 한도 변수 $의 node_count_star 및 $ node_count_end가 비어 있음이 시사 NODE_ID LIMIT BY GROUP, '

합니다.

건배 & 행운을 빕니다.

+0

오류가 있지만 ... – Povylas