2012-07-10 1 views
7

Aşağıdaki kodlarım var.node.js-MySQL COUNT kayıt sayısı

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(); 

Ben tablosundan 'yaş' = 24. Ben komut istemi benim node.js aşağıdaki alma isimlerini 'kayıtların toplam sayısını almak istiyorum.

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

Sorum, bu numarayı 14 daha fazla kullanım için bir değişkende saklamaktır.

Ben sadece

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

sonra

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

ve konsol hattı için 'sql' hattını değiştirerek bunu biliyorum Ama yine bir başka yolu var mı?

+0

'satırlar [0] ['COUNT (*)']'? Saf SQL ile uğraşıyorsunuz, yani başka seçeneğiniz yok. – freakish

+0

Çalışmıyor. Yardım için teşekkürler. – Shekhar

cevap

25
yeniden yazma

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

gibi bakmak için, yani .:

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

Sonra Sorgu sonucu elde edecektir: şimdi var bu yüzden [ { 'namesCount': '14' } ].

rows[0].namesCount 

Yeterince iyi?

+0

Çok teşekkürler, işe yarıyor. :) – Shekhar