首先说我正在使用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
但我不能说我想要最新的赛季而且只是随机使用。 任何人有任何想法如何做到这一点?
最好的问候, 韩国
答案 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