node.js-MySQL COUNT 记录数

Posted

技术标签:

【中文标题】node.js-MySQL COUNT 记录数【英文标题】:node.js-MySQL COUNT the number of records 【发布时间】:2012-07-09 21:17:43 【问题描述】:

我有以下代码。

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

我想从表 'names' 中获取记录总数,其中 'age' = 24。我在 node.js 命令提示符下收到以下信息。

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

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

我知道我可以通过将“sql”行更改为

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

然后控制台行到

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

但还有其他方法吗?

【问题讨论】:

rows[0]['COUNT(*)']?您正在处理纯 SQL,所以我想您别无选择。 它不起作用。感谢您的帮助。 【参考方案1】:

重写

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

看起来像,即:

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

然后,你会得到查询结果:[ 'namesCount': '14' ].

所以现在你有

rows[0].namesCount

够好吗?

【讨论】:

以上是关于node.js-MySQL COUNT 记录数的主要内容,如果未能解决你的问题,请参考以下文章

django count 具有相同相关记录的记录数

mysql带条件取count记录数

即使使用 parallel(8) 提示,具有数百万条记录的表中的 Count(1) 也很慢

SQL 查询记录数的SQL语句

关于count(id)查询慢的问题,请高手帮助解答

mysql查询非重复的行内容,不重复的记录数count(distinct xx)