mysql-如何在其自己的查询中获得一个值的总出现次数?

假设我们有这个查询

SELECT * FROM table

这是它的结果.

id | user_id
------------
1  | 1
------------
2  | 1
------------
3  | 2
------------
4  | 1

如何获得user_id作为其他字段出现的频率(没有一些主要的SQL查询)

id | user_id | count
--------------------
1  | 1       | 3
--------------------
2  | 1       | 3
--------------------
3  | 2       | 1
--------------------
4  | 1       | 3

我们目前在代码中具有此值,但是我们正在对该表实现排序,我希望能够在SQL查询中进行排序.

顺便说一句,如果没有一些主要技巧不可能做到这一点,我们将跳过对该字段的排序.

最佳答案
我相信您只想在最后添加一个子查询:

SELECT
    t.id,t.user_id,(SELECT COUNT(*) FROM table WHERE user_id = t.user_id) AS `count`
FROM table t;

相关文章

在正式开始之前,我们先来看下 MySQL 服务器的配置和版本号信...
> [合辑地址:MySQL全面瓦解](https://www.cnblogs.c...
物理服务机的CPU、内存、存储设备、连接数等资源有限,某个时...
1 回顾 上一节我们详细讲解了如何对数据库进行分区操作,包括...
navicat查看某个表的所有字段的详细信息 navicat设计表只能一...
文章浏览阅读4.3k次。转载请把头部出处链接和尾部二维码一起...