【发布时间】:2013-12-12 01:31:02
【问题描述】:
我有这个在 MYSQL 中运行但不会在 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:mysqlperformanceblog.com/2006/09/06/…,您的子选择仍然会出错
标签: mysql sql sqlite join subquery