我有一张名为激活的表。在这里,我想将超过30天的记录移到另一张桌子。怎么做?
SELECT * DATE_FORMAT(datetime, '%m/%d/%Y')
FROM
tablename
WHERE datetime <= DATE_SUB(SYSDATE(), INTERVAL 30 DAY)
我尝试了这个查询,但它返回了一个错误:
您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以便在DATE_FORMAT附近使用正确的语法(日期时间,&#39;%m /%d /%Y&#39;)FROM激活WHERE datetime&lt; = DATE_SUB( SYS&#39;在第1行
答案 0 :(得分:3)
您可以尝试
INSERT INTO tablename2 select *, DATE_FORMAT(datetime, '%m/%d/%Y') from tablename1 WHERE datetime <= DATE_SUB(SYSDATE(), INTERVAL 30 DAY);
DELETE FROM tablename1 WHERE datetime <= DATE_SUB(SYSDATE(), INTERVAL 30 DAY);
答案 1 :(得分:1)
实施方式示例:
INSERT INTO Table2(LongIntColumn2, CurrencyColumn2)
SELECT LongIntColumn1, Avg(CurrencyColumn) as CurrencyColumn1 FROM tablename GROUP BY LongIntColumn1;