2012-07-10 3 views
7

다음 코드가 있습니다.node.js-MySQL 레코드 수를 계산하십시오.

var mysql = require('mysql'); 
var connection = mysql.createConnection({ 
    host  : 'localhost', 
    user  : 'root', 
    password : '', 
    database : 'test' 
}); 
connection.connect(); 

var userdata = '24'; 

var sql = 'SELECT COUNT(*) FROM names WHERE age = ?' 
connection.query(sql, [userdata], function(err, rows, fields) { 
    if (err) throw err; 
    console.log('Query result: ', rows); 
}); 

connection.end(); 

나는 테이블에서 '나이'= 24 내가 명령 프롬프트 내 Node.js를에 다음과 같은 혜택을받을 수있는 '이름'기록의 총 수를 싶어.

Query result: [ { 'COUNT(*)': '14' } ] 

제 질문은 향후 사용을 위해이 번호 14를 변수에 저장하는 방법입니다.

는 난 그냥

console.log('Query result: ', rows.length); 

에 다음

var sql = 'SELECT * FROM names WHERE age = ?' 

및 콘솔 라인에 'SQL'라인을 변경하여이 작업을 수행 할 수 있습니다 알고 있지만 또 다른 방법은 무엇입니까?

+0

'rows [0] [ 'COUNT (*)']'? 당신은 순수한 SQL을 다루고 있으므로 다른 선택의 여지가 없다고 생각합니다. – freakish

+0

작동하지 않습니다. 도와 줘서 고맙다. – Shekhar

답변

25
는 다시 작성

var sql = 'SELECT COUNT(*) FROM names WHERE age = ?' 

의 모습에, 즉 :

var sql = 'SELECT COUNT(*) AS namesCount FROM names WHERE age = ?' 

그런 다음 쿼리 결과를 얻을 것이다 : 지금 당신이 그렇게 [ { 'namesCount': '14' } ].

rows[0].namesCount 

충분하다?

+0

고마워, 작동하지. :) – Shekhar

관련 문제