sqlite标记重复为true或false



我需要在我的数据集(duplicate_name)中创建一个新列,如果有多个记录,则包含TRUE,否则为FALSE。我发现了这个代码(我正在使用sqlite):SELECT *,情况下当行号()除以(分区)First_name, last_name)>1)那么"真"其他的"假"END AS duplicate_name从用户;

但是当我运行它时,它给了我这样的东西(只有第二个记录被标记为TRUE):卡洛·托马斯男假卡洛·托马斯男Don葱男假塔尼亚·洛佩斯女假

我需要的是这样一个表(具有相同名称的两个记录被标记为TRUE):卡洛·托马斯男卡洛·托马斯男Don葱男假塔尼亚·洛佩斯女假

有人能帮帮我吗?

感谢

COUNT(*)窗函数代替ROW_NUMBER()

SELECT *, 
CASE WHEN COUNT(*) OVER (PARTITION BY first_name, last_name) > 1 THEN 'TRUE' ELSE 'FALSE' END AS duplicate_name 
FROM users;

或更简单,1表示真,0表示假:

SELECT *, 
COUNT(*) OVER (PARTITION BY first_name, last_name) > 1 AS duplicate_name 
FROM users;

相关内容

  • 没有找到相关文章

最新更新