我执行这两个表联接在MySQL选择唯一不同的行基于最高时间戳上加入
挑战表
challenge_ID(int) |to_user(int)|from_user(int)|timestamp
用户表
iduser(int)|email(string)
我加入查询此:
Select distinct u.email,c.challenge_id,c.status,c.timestamp from
test.challenges c join test.users u
on
c.to_user=u.iduser
where
c.from_user=9 and (c.status='open' || c.status='rejected')
Order by
c.timestamp DESC
结果我从这个查询得到的是
email |challenge_id| status |timestamp (Descending)
[email protected] 5 open 2015-12-09 21:20:26
[email protected] 4 open 2015-12-09 21:10:22
[email protected] 1 rejected 2015-12-08 12:27:00
通知[email protected]如何重复两次,我希望它只是一次显示和显示的应该有最新的时间戳即
email |challenge_id| status |timestamp (Descending)
[email protected] 5 open 2015-12-09 21:20:26
[email protected] 4 open 2015-12-09 21:10:22
我以前从来没有使用可变的,我想了解你给 我跑在我的数据库查询,似乎它返回相同的(组电子邮件ID寿),但RN遗体1表示所有行,并返回所有3行s – Snedden27
我发现这很难遵循,因为我不使用mysql(或RDs)来处理其他基本查询。我复制粘贴这在我的phpadmin,它给了我一个语法错误附近的第一次加入 我想出了一个查询连接使用子查询,我已经发布在答案。我没有太多的测试,但显然它服务于目的 请让我知道,如果这不是最有效的方式做到这一点 – Snedden27