这是我的表格,以CSV格式
id, person, cond
1, "john doe", ""
2, "jane smith", ""
3, "walter white", ""
4, "walter white", 1
5, "frodo baggins", ""
我希望使用以下逻辑运行SQL查询:"选择所有内容,但如果person
在那里两次,那么只选择person
行{{ 1}}不是空字符串(cond
)。
结果将是......
""
我已经尝试过这段代码,到目前为止已经失败了......
id, person, cond
1, "john doe", ""
2, "jane smith", ""
4, "walter white", 1
5, "frodo baggins", ""
答案 0 :(得分:2)
您希望除了名称重复且具有更大cond
值的记录之外的所有记录:
SELECT *
FROM MyTable
WHERE NOT EXISTS (SELECT 1
FROM MyTable AS Duplicate
WHERE Duplicate.name = MyTable.name
AND Duplicate.cond > MyTable.cond)