所以在我将mySQL升级到5.7之前,我使用过的查询工作正常;
SELECT
V.id,Artist,AlpaArtist,Title,AltTitle,Album,Label,Year,Director,Rating,HD,TRT,TitleIn,TitleOut,Thu_21,Rotation,loaded
FROM videos V LEFT JOIN runlog ON V.ID = runlog.videoID
WHERE NOT EXISTS
(SELECT 1 FROM runlog R INNER JOIN videos V2 ON V2.ID = R.VideoID WHERE DateTime >= DATE_ADD(NOW(), INTERVAL - 3 HOUR)
AND V2.Artist = V.Artist
UNION ALL
SELECT 1 FROM runlog R INNER JOIN videos V3 ON V3.ID = R.VideoID WHERE dateTime >= DATE_ADD(NOW(), INTERVAL - 24 HOUR)
AND V3.Artist = V.Artist GROUP BY V3.Artist HAVING COUNT(*) >= 6) AND rotation = 1 AND loaded = 1 AND Sat_12 >= 0.343 and HD = 0
GROUP BY V.ID , Artist , AlpaArtist , Title , AltTitle , Album , Label , Year , Director , Rating , HD , TRT , TitleIn , TitleOut , Rotation, Sat_12
ORDER BY Artist , Title
无论数据库中的实际值如何,任何位列(已加载,HD)都将输出1,这在一个简单的[select * from videos]查询中确实显示。即使我输入(如图所示)HD = 0的参数,正确的记录显示,但在HD字段中显示1。