MySQL查询如何单独获取COUNT(*)的数值结果
提取MySQL COUNT(*)查询结果中的数值
有两种简单方法可以拿到你要的18:
方法一:给统计结果起别名(推荐)
修改你的SQL语句,给COUNT(*)指定一个更友好的别名,后续提取会更直观:
SELECT COUNT(*) AS total_rows FROM db
然后在代码里直接通过别名提取数值:
connection.query('SELECT COUNT(*) AS total_rows FROM db', (err, rows) => { connection.release(); if(!err) { // rows是包含单个对象的数组,取第一个元素的total_rows属性 const totalRows = rows[0].total_rows; console.log(totalRows); // 输出18 // 把数值传给前端模板 res.render('home', { totalRows }); } else { console.log(err); } })
方法二:直接使用原字段名提取
如果不想修改SQL,直接通过原字段名(注意是带括号的字符串)提取:
connection.query('SELECT COUNT(*) FROM db', (err, rows) => { connection.release(); if(!err) { // 用方括号语法访问带特殊字符的键 const totalRows = rows[0]['COUNT(*)']; console.log(totalRows); // 输出18 res.render('home', { totalRows }); } else { console.log(err); } })
另外提一句:你代码里的rows = JSON.parse(JSON.stringify(rows))完全没必要,MySQL驱动返回的rows本身就是可直接访问的JavaScript数组/对象,直接用就行。
内容的提问来源于stack exchange,提问作者Colin Campbell
相关产品推荐
相关产品推荐

