【发布时间】:2013-07-23 20:15:04
【问题描述】:
我希望我的标题措辞正确,但如果它令人困惑,我会解释我想要达到的目标。
在我的 webapp 中,用户需要在加入之前发送应用程序。当用户对其应用程序进行更改而不是更新当前行时,我决定插入一个新行,以便用户可以返回过去的版本。
假设我的桌子是这样的
id | user_id | approved | timestamp
如何在不显示 user_id 重复项的情况下计算有多少未批准的应用程序?
我现在有这个
SELECT * FROM `applications` WHERE approved = 0 GROUP BY user_id
现在我不知道这是否是解决此问题的正确方法,但经过一些在线研究,这是我可以汇总的最好方法,这将返回分组的 user_id,但显示来自用户的最旧数据。
(统计结果或显示每个未批准用户申请的整行的查询是我所追求的)
编辑
为了弄清楚,让我们说
用户 1 已对其应用程序进行了 3 次编辑。 (共4行)
用户 2 已对其应用程序进行了 2 次编辑。 (共3行)
如何获取所有用户未批准的应用程序的计数,但每个用户只计算 1 个(按时间戳的最新提交)。
【问题讨论】:
标签: mysql greatest-n-per-group