chatgpt、百度、讯飞、阿里写一小段SQL对比

问题:有一张表pay,表中只有一个字段url,字段类型为text,没有其它字段。请写一段sql脚本,删除重复的url行记录,只保留一条记录。

通义千问的回答:

DELETE FROM pay WHERE url IN (
  SELECT url FROM (
    SELECT url, ROW_NUMBER() OVER(PARTITION BY url ORDER BY (SELECT NULL)) AS rn
    FROM pay
  ) t WHERE rn > 1
);

chatgpt、文心一言、讯飞星火的回答都是:

DELETE FROM pay
WHERE id NOT IN (
    SELECT MIN(id)
    FROM pay
    GROUP BY url
);

第一次只有阿里是对的,其它都是错的。

接着让chatgpt重写一个,这回正确了。

告诉文心一言和讯飞星火只有一个url字段,还是纠正不过来,有点失望。

你可能感兴趣的:(sql,数据库)