2012-03-20 64 views
0

我有两个表,用户和hra。用户在用户表中只能有一条记录,但他可以有多个记录。我想要做的只是每个用户检索一个hra。我有下面的查询。任何人都可以帮忙做到这一点?如何为每个用户选择一条记录?

$query = "SELECT u.id AS user_id, h.id AS hra_id FROM users u 
      INNER JOIN hra h ON u.id = h.user_id 
      WHERE h.date BETWEEN ? AND ? 
      AND h.done = 1 
+0

你想要哪HRA?你为什么只想要一个? – Yamikuronue 2012-03-20 15:16:11

+1

是否存在您想要检索的特定'hra',或者您对符合您的'WHERE'子句的任何'hra'满意吗? – ruakh 2012-03-20 15:16:22

回答

2

假设你想要的MAX(h.id),这应该工作:

SELECT u.id AS user_id, MAX(h.id) AS hra_id FROM users u 
     INNER JOIN hra h ON u.id = h.user_id 
     WHERE h.date BETWEEN ? AND ? 
     AND h.done = 1 
GROUP BY u.id 
相关问题