我在此查询MySQL查询不工作,因为它应该
SELECT `version` FROM filescontent WHERE `fileID`=(SELECT `fileID` FROM files WHERE `fileName`= 'file1.jpg') ORDER BY `fileID` DESC LIMIT 1
的问题是,如果不命令的结果下降。结果是在数据库中找到的第一个是'1'。
我在此查询MySQL查询不工作,因为它应该
SELECT `version` FROM filescontent WHERE `fileID`=(SELECT `fileID` FROM files WHERE `fileName`= 'file1.jpg') ORDER BY `fileID` DESC LIMIT 1
的问题是,如果不命令的结果下降。结果是在数据库中找到的第一个是'1'。
原因是因为你正在使用LIMIT 1.因此,有1条记录,你怎么能期望它在下降。
你可以尝试删除限制1,然后检查
SELECT `version` FROM filescontent
WHERE `fileID`=(SELECT `fileID` FROM files WHERE `fileName`= 'file1.jpg')
ORDER BY `fileID` DESC
另外,作为Hearner曾建议你可以尝试使用JOIN这样的表链接:
SELECT `version`
FROM filescontent join files using(fileID)
WHERE `fileName`= 'file1.jpg'
ORDER BY `fileID` DESC
编辑:
SELECT version FROM filescontent
WHERE fileID=(SELECT fileID FROM files
WHERE fileName= 'file1.jpg')
ORDER BY version DESC LIMIT 1
我需要限制它,因为在ID 1我有版本1,2,3,我必须选择ID1的第三个版本 – Alex
以下用法查询-
SELECT version
FROM filescontent
WHERE fileID=
(
SELECT fileID
FROM files WHERE fileName= file1.jpg
)
ORDER BY version DESC LIMIT 1
如果您正在使用2台甚至更好的查询将是─
SELECT `version`
FROM filescontent fc join files fl on fl.fileid=fc.fileid
WHERE `fileName`= 'file1.jpg'
ORDER BY `version` DESC limit 1;
,你必须给他们 – Hearner
链接,可能是因为您在您的查询,其中只有它的工作有“LIMIT 1”并限制结果为一行 – RedSonja
我需要限制它,因为在ID 1我有版本1,2,3我必须得到ID1的第三个版本 – Alex