2011-06-07 28 views
0

我设置了一个价格比较工具来抓取网站,然后检测价格变化。我有一张包含价格,物品ID和扫描ID的表格。我有另一个表格,其中包含项目信息和另一个表格,其中包含扫描列表以及何时发生。mySQL查询错误“组函数的使用无效”

我想做一个查询,可以检测到新产品和价格的变化。这是我所拥有的...但它导致错误'无效使用组功能'

SELECT * FROM 
(SELECT * FROM price WHERE scan_id = MAX(scan_id) - 1) as P 

LEFT JOIN 

(SELECT * FROM price WHERE scan_id = MAX(scan_id)) as N 

ON 
P.item_id = N.item_id 
AND P.price != N.price 

JOIN item I ON N.item_id = I.item_id 

由于某种原因,此查询不起作用。

+0

也许这不是解决方案,但尝试首先加入括号 – Dalen 2011-06-07 15:58:57

+0

我不是通过扫描ID分组...我正在比较两个扫描具有相同的item_id。所以,如果我想按item_id分组......但是你无法比较一个组的内容吗? – Mark 2011-06-07 16:06:52

回答

0

问题在于子查询的MAX()部分。我删除它,并用数字替换它,它工作的一种享受。