删除受其他查询影响的记录

时间:2014-03-28 20:53:14

标签: mysql

我想删除受此查询影响的所有记录:

SELECT COUNT(Distinct news_id) AS TotalRecords, country 
FROM upload_news 
WHERE [upload_time] BETWEEN GetDate()-7 AND GetDate() 
GROUP BY country

我不知道如何写这个查询。

1 个答案:

答案 0 :(得分:1)

如果要删除查询中满足谓词的所有行...

删除 GROUP BY 子句,并将 SELECT <expression_list> 替换为 DELETE 关键字。

但是,这似乎不是MySQL语法。方形围绕着标识符,&#34; -7&#34;在GETDATE()函数之后,使其看起来像SQL Server(Transact-SQL)语法。

这将删除upload_news中指定范围内upload_time值的所有行。

DELETE FROM upload_news
 WHERE [upload_time] BETWEEN GETDATE()-7 AND GetDate() 

您可以将 DELETE 替换为 SELECT * ,这将返回将从{{1}中删除的所有行}表。请注意,外键约束和/或触发器可能会导致其他表中的行受到影响(删除,更新和/或插入)