我有两个表'sites'和'index_log'。表'网站'是关于网站(用户ID,名称,描述等)的信息。表索引_日志具有列日期,索引_计数和网站ID。所以我想最后和以前index_log一行为每个站点,其中userid = 10,这是我的变种:加入Max和Max前行
SELECT ff.id,
ff.siteurl,
ff.last_count,
ff.last_date,
il2.index_count as previous_count,
MAX(il2.date) as previous_date
FROM (
SELECT s.siteurl,
s.id,
il.index_count as last_count,
MAX(il.date) as last_date
FROM sites s
LEFT JOIN index_logs il ON il.siteid = s.id
WHERE s.userid = 10
GROUP BY s.id
) as ff
LEFT JOIN index_logs il2 ON il2.siteid = ff.id AND il2.date < ff.last_date
GROUP BY ff.id
但在这个变体index_count柱(去年及以前)不匹配,最大日起一行。我希望能为你提供帮助。
这不是有效的SQL Server查询你最后2日志条目,看起来像MySQL? – dnoeth
是什么让你说@dnoeth? – Squirrel
'GROUP BY'不包括SELECT列表中的所有非聚合列... – dnoeth