2
當我內部連接第二個表時,我只想連接一行。條件是採取級別列中具有最高整數的行。我想是這樣的:通過僅獲得最高整數行內部連接單行
SELECT *
FROM file_repo
INNER JOIN
( SELECT
MAX(files.level)
FROM
files
) ON file_repo.id = files.repo_id
對於每一行file_repo我會得到一個單列的文件,在水平列中的最高值。
與其他人(10x左右)相比,此解決方案似乎運行得相當緩慢。在另一個例子中,兩個file_repo共享同一級別時發生了什麼問題?這只是匹配文件的不一致選擇嗎? – 2011-09-08 17:11:29
@ebyrob:你將得到所有最新的文件,而不是一個。請注意,性能取決於表的索引方式,如果您有大量空回購(其中完全沒有文件),則其他解決方案的確可以更快。 – Quassnoi 2011-09-08 17:31:51