SQL连接和组问题

时间:2011-01-22 16:52:01

标签: sql mysql phpmyadmin

首先说我正在使用mySQL,我访问数据库的唯一方法是通过phpMyAdmin,因为这是一个网站。

首先我有一个像这样的用户表(table1):

user_id | name
--------------
      1 | Mike
      2 | Johny
      3 | Bob

和另一张关于他们赛季结果的表格(表2):

user_id | season | result
-------------------------
      1 | 2009   |     10
      1 | 2010   |      8
      1 | 2011   |      5
      2 | 2009   |      7
      2 | 2010   |      3
      3 | 2009   |      1

现在我想要用户的名字和他上一季的结果,所以像这样:

user_id | name | season | result
--------------------------------
      1 | Mike |   2011 |      5
      2 | Johny|   2010 |      3
      3 | Bob  |   2009 |      1

我最接近这样的事情是

SELECT * FROM table1 INNER JOIN table2 ON table1.user_id = table2.user_id GROUP BY id

但我不能说我想要最新的赛季而且只是随机使用。 任何人有任何想法如何做到这一点?

最好的问候, 韩国

2 个答案:

答案 0 :(得分:4)

SELECT *
FROM table1, table2,
(SELECT user_id AS lUserid, MAX(season) AS lSeason FROM table2 GROUP BY user_id) AS lTable2
WHERE table1.user_id = table2.user_id
AND table2.user_id = lTable2.lUserid
AND table2.season = lTablle2.lSeason

答案 1 :(得分:0)

您是否尝试按季列排序?

SELECT * FROM table1 INNER JOIN table2 ON table1.user_id = table2.user_id GROUP BY id ORDER BY season DESC