我有这个查询在MYSQL中工作,但不会在SQLite中运行。我认为它由于WHERE子句中的多个参数而失败。SQLite在WHERE中传递多个参数
目的是为所有调查问题(sqid)选择唯一的最新调查答案(表示),因为对问题的多个答案是可能的。
SELECT sqid, said, saname, satimestamp
FROM surveyanswer
WHERE (sqid, hoid, satimestamp) IN (
SELECT sqid, hoid, max(satimestamp) as satimestamp
FROM surveyanswer
GROUP BY sqid
)
我已经被satimestamp与订货试验和选择的一个,而不是最大的限制,但不能得到它的工作。
即使SQLite的会支持你的元组比较仍由于“非法”使用“GROUP BY”,因此在您的子选择中出现错误:http://www.mysqlperformanceblog.com/2006/09/06/wrong-group-by-makes-your-queries-脆弱/ –