MySQL 中使用 GROUP BY 对后分组的数据进行 COUNT() 统计
SELECT id,title FROM tb_item GROUP BY id


SELECT id,title,count(*) AS counter FROM tb_item GROUP BY id

counter 实际上是每组的计数


统计分组后的数据,应该使用这样的子查询:

select count(*) from (select count(*) FROM service GROUP BY name,service) t


实例:

var replacements = {tags:"11,12,13"}
var sql = `
    SELECT id,tags,title,r.* FROM tb_item AS i
    LEFT JOIN tb_item_tag_relation AS r 
    ON r.item_id = i.id
    WHERE r.tag_id IN (:tags)
    GROUP BY i.id
    ORDER BY id DESC
    LIMIT 10
  `;

var replacements = { tags: currentTags };
var res = await db.query(sql, { type: db.QueryTypes.SELECT, raw: true, replacements });

sql = `
    SELECT COUNT(id) AS count FROM(
        SELECT id FROM tb_item AS i
        LEFT JOIN tb_item_tag_relation AS r 
        ON r.item_id = i.id
        WHERE r.tag_id IN (:tags)
        GROUP BY i.id
    ) t
  `;
res = await db.query(sql, { type: db.QueryTypes.SELECT, raw: true, replacements });


真诚赞赏,手留余香
赞赏
MySQL
MySQL 函数 concat、concat_ws 和 group_concat
2021-04-10
Node.js
npm install sharp 安装太卡
2021-04-14
ngtwewy
随机推荐
MySQL 处理高并发,防止库存超卖(乐观锁和悲观锁)
Linux apt 命令
MySQL 批量插入数据时如何解决重复问题
MySQL 函数 FIND_IN_SET 和 IN 的区别
使用N-API 写 Node.js 的 C语言扩展
Node.js 的 JSON Web Token 模块
怪异模式(Quirks Mode)导致 button 和 input 的大小不统一原因
Debian11 安装笔记1:编译安装Nginx、Naxsi 和 Njs
Nginx location 匹配顺序
Debian11 安装笔记4:安装常用软件

微信联系我

夜间模式切换
回到顶部