这是我的数据库表,表名是food_user
。我使用的是mariadb版本10.1.38。
我运行以下sql查询:
INSERT INTO food_user (NAME,re_date,re_day)
SELECT 'Alex','2019-01-01' + INTERVAL seq DAY,DAYNAME('2019-01-01' + INTERVAL seq DAY)
FROM seq_0_to_364;
两次。因此,有两个日期相同的数据,如下面的屏幕截图所示。
我想删除两个相同的日期之一。
我尝试此查询。
DELETE n1 from food_user n1, food_user n2
where n1.id > n2.id
and n1.sum=0 and n2.sum=0
and n1.name='Alex'
and n2.name='Alex'
and n1.re_date=?
and n2.re_date=?;
我不知道正确的查询。
答案 0 :(得分:0)
这是删除查询的外观。
delete from food_user where id in
(
select x.id from (select min(id) as id from food_user t group by name, re_date having count(1) = 2) as x
)