我有一个表,ReadingList,它由几列组成。为了简单起见,让我们称他们为:mySQL - 计算具有相同值的实例数,对于不同的用户
- reading_id
- link_id_fk
- user_id_fk
reading_id
只是一个AI关键。 link_id_fk
可以存在多次(每个user_id_fk
)
我想要做的,就是找到前10link_id_fk
值,由大多数用户的存储。
这里是它我的垃圾尝试(我只是得到145回来,我不知道在哪里得到它,这个数字 - 但它肯定不是数我期待:))
SELECT
*,
(SELECT COUNT(*)
FROM ReadingList
WHERE link_id_fk = ReadingList.link_id_fk) AS total_saves
FROM
ReadingList
WHERE
user_id_fk IN ('test123', 'test2') AND
link_id_fk > 0 AND deleted = 0;
的所需的示例输出将是:
link_id_fk total_saves
12 3
34 2
56 1
78 1
任何人都可以指向正确的方向吗?
谢谢!
@Strawberry - DDL? –
如果您喜欢,请考虑遵循以下简单的两步操作步骤:1.如果您尚未这样做,请提供适当的CREATE和INSERT语句(和/或sqlfiddle),以便我们可以更轻松地复制问题。 2.如果您尚未这样做,请提供与步骤1中提供的信息相对应的所需结果集。显然,在这种情况下,如果将问题简化为“前5名”,则会有所帮助。 – Strawberry