您好,我正在尝试使用此代码段在一段时间内搜索表中的重复项。
FROM
table WHERE Start_Date BETWEEN '2018-07-01' AND '2018-07-31'
GROUP BY Policy_Number
HAVING COUNT(Policy_Number) > 1;
这将在所需日期内生成表中的所有重复记录及其计数。
现在,我正试图删除这些重复的记录使用这个片段使用这个片段我也发现网上
DELETE t1 FROM table t1
INNER JOIN
table t2
WHERE
t1.id < t2.id AND t1.Policy_Number = t2.Policy_Number AND Start_Date BETWEEN '2018-07-01' AND '2018-07-31';
但我总是犯这个错误
where子句中的“开始日期”列不明确
请我如何更正这个删除重复我想删除谢谢!!
3条答案
按热度按时间ymzxtsji1#
一个例子是有效的
SELECT table.Number FROM table INNER JOIN table2 ON table.ID = table2.ID WHERE checkInDate BETWEEN '2015-09-12' AND '2015-09-13';
cedebl8k2#
在开始日期前定义别名
bvpmtnay3#
这样写
t1.Start_Date
它的工作尝试在执行select之前作为查询运行:
因为你创造了
t1 and t2
使用同一个表table
所以两个都有start_date
这就是为什么它的给予Column 'Start_Date' in where clause is ambiguous
错误