webdevqa.jp.net

node.js-MySQL COUNTレコードの数

次のコードがあります。

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

'age' = 24のテーブル 'names'からレコードの総数を取得したいのですが、node.jsコマンドプロンプトで次のメッセージが表示されます。

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

私の質問は、この数値14を後で使用するために変数に格納する方法です。

「sql」行を次のように変更するだけでこれを実行できることを知っています

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

そして次にコンソールライン

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

しかし、まだ別の方法がありますか?

17
Shekhar

書き換えます

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

たとえば、次のようになります。

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

次に、クエリ結果を取得します:[ { 'namesCount': '14' } ].

だから今あなたは持っています

rows[0].namesCount

十分ですか?

46
Nemanja