node.js-MySQL COUNT记录数

时间:2012-07-10 11:43:48

标签: mysql node.js node-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();

我想获取表'name'中记录的总数,其中'age'= 24.我在node.js命令提示符下收到以下内容。

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

我的问题是如何将这个数字14存储在变量中以供进一步使用。

我知道我可以通过将'sql'行改为

来做到这一点
var sql = 'SELECT * FROM names WHERE age = ?'

然后将控制台行转到

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

但还有另一种方式吗?

1 个答案:

答案 0 :(得分:37)

重写

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

看起来像是:

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

然后,您将获得查询结果:[ { 'namesCount': '14' } ].

所以现在你有了

rows[0].namesCount

够好吗?