2015-06-06 87 views
1

JOIN我有2個表:MySQL的LEF與LIMIT

遊戲:

g_id | country | team_1 | team_2 
-------------------------------- 
    1 | England | Bayern | Chelsea 
    2 | England | Bayern | Liverp 
    3 | England | Bayern | Ajax 

統計:

s_id | s_time | s_name | g_id 
----------------------------- 
1 | 4 | Alen A. | 1 
2 | 7 | Dagn S. | 1 
3 | 11 | Eden D. | 1 
4 | 22 | Aren A. | 1 
5 | 8 | Falen B. | 2 
6 | 66 | Poker G. | 2 
7 | 76 | Nuker S. | 2 
8 | 87 | Eben Y. | 2 
9 | 18 | Falen B. | 3 
10 | 19 | Aalen F. | 3 
11 | 33 | Gased G. | 3 
12 | 44 | Halen B. | 3 

而且我想從兩個表中獲取數據左加入其中限制

這裏查詢:

SELECT * 
FROM games 
LEFT JOIN statistic 
ON games.g_id = statistic.g_id 
WHERE games.team1 = 'Bayern' 
LIMIT 2 

結果是:

g_id | country | team_1 | team_2 | s_id | s_time | s_name | g_id 
------------------------------------------------------------------ 
1 | England | Bayern | Chelsea| 1 | 4 | Alen A. | 1 
1 | England | Bayern | Chelsea| 2 | 7 | Dags S. | 1 

我需要統計的所有數據與限2從表中 「遊戲」!這裏舉例說明我需要什麼:

g_id | country | team_1 | team_2 | s_id | s_time | s_name | g_id 
------------------------------------------------------------------ 
1 | England | Bayern | Chelsea| 1 | 4 | Alen A. | 1 
1 | England | Bayern | Chelsea| 2 | 7 | Dags S. | 1 
1 | England | Bayern | Chelsea| 3 | 11 | Eden D. | 1 
1 | England | Bayern | Chelsea| 4 | 22 | Aren A. | 1 
2 | England | Bayern | Liverp | 5 | 8 | Falen B. | 2 
2 | England | Bayern | Liverp | 6 | 66 | Dags S. | 2 
2 | England | Bayern | Liverp | 7 | 76 | Alen A. | 2 
2 | England | Bayern | Liverp | 8 | 87 | Dags S. | 2 

查詢我需要什麼?

+0

爲什麼你要使用的限制,而不是G_ID <= 2?這是不可能的,限制是獲得你所需要的最好的方式。 –

+0

@DeanMacGregor *拜仁隊可以隨機在表中不先2 *。 – Beginner

+0

規範化數據。只是一個投票 – Drew

回答

2

你可以試試這個:

SELECT * 
FROM (SELECT * FROM games WHERE team1 = 'Bayern' ORDER BY g_id LIMIT 2) AS g 
LEFT JOIN statistic AS s 
ON g.g_id = s.g_id 
+0

**拜仁隊可以隨機在表中不是第一個2 – bsbak

+0

@ user3737786檢查我的編輯。 – Beginner