我目前的查询类似于:
SELECT users.fname, users.lname, sales.date
FROM users
LEFT JOIN sales ON users.id=sales.user
这给了我类似的结果:
Fname | Lname | Date
Jeff | K | 2/12/08
Jeff | K | 5/18/08
Jeff | K | 2/22/09
Bill | D | 3/12/08
Bill | D | 12/9/08
这是我非常期待的,因为我有多个销售链接到用户,但我希望只列出一个用户(,也许是一种方法来选择单个结果选择的销售字段)这是可能的,我将如何做到这一点?
即:
Fname | Lname | Date
Jeff | K | 5/18/08
Bill | D | 12/9/08
答案 0 :(得分:4)
SELECT users.fname, users.lname, MAX(sales.date)
FROM users
LEFT JOIN sales ON users.id=sales.user
GROUP BY users.fname, users.lname
或者如果您想要销售表中的更多字段:
SELECT users.fname, users.lname, sales.date, sales.proft
FROM users
LEFT JOIN sales ON users.id=sales.user
AND sales.date = (SELECT MAX(sales.date) FROM sales WHERE user = users.id)
答案 1 :(得分:0)
SELECT users.fname, users.lname, max(sales.date) as date
FROM users
LEFT JOIN sales ON users.id=sales.user
group by users.fname, users.lname
答案 2 :(得分:0)
您必须按用户分组,并在销售日期添加一些汇总功能,以“控制”在查询结果集中输出哪些可能的日期...
说你想要最近的约会......
Select u.fname, u.lname, Max(s.date) LastSale
FROM users u
LEFT JOIN sales s ON u.id=s.user
Group By u.fname, u.lname