0
我有兩個表格:城市列表以及每個城市的類別列表。在連接查詢中限制結果
Table tv_village
id | name
--------------
1 | London
2 | Paris
Table tv_village_category
village_id | category | total
-----------------------------
1 | event | 10
1 | realestate | 15
1 | job | 8
1 | place | 20
2 | event | 42
2 | realestate | 66
2 | job | 83
2 | place | 55
我的問題
我需要獲得前3個類別爲每個城市(按總排序)。
我試過
當我嘗試此查詢,它告訴我,該場v.id
是未知的子查詢。
SELECT *
FROM tv_village v
INNER JOIN (
SELECT *
FROM tv_village_category vc2
WHERE vc2.village_id = v.id
AND vc2.total > 0
ORDER BY vc2.total DESC
LIMIT 3
) vc
ORDER BY v.id, vc.total DESC
我需要補充的是演出事宜,我的表是有點巨大(36K城市和1M類別)。
問候,
這是在任何數據庫中都可以輕鬆使用的東西之一,但MySql:Oracle具有橫向連接,Sql Server具有APPLY。其他一切支持這些或那些。添加這個越來越多的缺失功能的列表Oracle不太可能添加到MySql中,因此它不必與自身競爭...... CTE,窗口化函數,索引視圖...我可以繼續。 –