当我在本地尝试以下内容时,没有结果也没有错误:
select
a,
bunch,
of,
fields
from import where id in (
SELECT distinct t1.id
FROM import t1 inner join import t2
on t1.programid = t2.programid and t1.sku = t2.sku
where t1.lastupdated < t2.lastupdated
)
此查询是将旧记录复制到归档的查询的一部分,这是fetchng需要移动的数据的部分。
当我在cpanel中运行整个事情时,phpmydmin没有任何反应,没有错误,也没有记录被复制,当我运行只获得数据没有返回的statament时,页面只会加载并且&# 39; s。
有超过一百万条记录和2/3需要存档,我必须使用具有phpmyadmin的cpanel,但认为它不适合运行这样的查询。当与&#34结合使用时,插入&#34;上面的语句将phpmyadmin会话锁定2小时但没有复制记录。
答案 0 :(得分:1)
我有phpmyadmin在查询某些版本的子选择上执行此操作。
然而,试试这个SQL,它应该做同样但可能更有效。
SELECT a, bunch, of, fields
FROM import
INNER JOIN (SELECT distinct t1.id
FROM import t1 inner join import t2
on t1.programid = t2.programid and t1.sku = t2.sku
where t1.lastupdated < t2.lastupdated ) Sub1
ON import.id = Sub1.id
编辑添加以下代码以检索每个programid / sku没有最新lastupdated的记录
SELECT a, bunch, of, fields
FROM import
LEFT OUTER JOIN (SELECT programid, sku, MAX(lastupdated) AS lastupdated FROM import GROUP BY programid, sku) Sub1
ON import.programid = Sub1.programid AND import.sku = Sub1.sku AND import.lastupdated = Sub1.lastupdated
WHERE Sub1.programid IS NULL