2012-07-10 14 views
7

Mam następujący kod.node.js-MySQL COUNT liczba rekordów

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

Chcę uzyskać całkowitą liczbę rekordów z tabeli „nazwiska”, gdzie „wiek” = 24. pojawia się następujący moich node.js wierszu polecenia.

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

Moje pytanie brzmi: jak przechowywać ten numer 14 w zmiennej do dalszego wykorzystania.

wiem, że mogę to zrobić, po prostu zmieniając linię 'sql' do

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

a następnie linii konsola do

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

Ale nadal jest jakiś inny sposób?

+0

'rows [0] ['COUNT (*)']'? Masz do czynienia z czystym SQL, więc domyślam się, że nie masz innego wyboru. – freakish

+0

To nie działa. Dzięki za pomoc. – Shekhar

Odpowiedz

25

Przepisz

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

wyglądać, tj .:

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

Następnie otrzymasz wynik zapytania: [ { 'namesCount': '14' } ].

więc teraz masz

rows[0].namesCount 

Wystarczająco dobry?

+0

Wielkie dzięki, działa. :) – Shekhar

Powiązane problemy