【问题标题】:SQL group by last name from a table with duplicate tuple从具有重复元组的表中按姓氏进行 SQL 组
【发布时间】:2016-09-14 02:28:29
【问题描述】:

我有一个关于使用 sqlite3 或 MySQL 的数据库作业的问题。问题是:

查找属于两位或多位总统的所有姓氏。不要重复姓氏,并记住同一个人担任两个不同的任期(例如格罗弗·克利夫兰)并不构成两位总统姓氏相同的情况。

SELECT lastName FROM Presidents GROUP BY lastName HAVING COUNT(lastName) > 1;

我只设法将所有唯一姓氏分开,但是,我无法删除可能两次担任总统的同一个人,例如 Grover Cleveland。 有人可以教我如何从查询中删除同一个人吗?

我想包括“WHERE firstName is UNIQUE”,但它不起作用。 任何帮助表示赞赏。谢谢

【问题讨论】:

    标签: mysql sql duplicates


    【解决方案1】:

    您要选择不同名字的计数大于 1 的姓氏。这个查询正是这样做的:

    SELECT lastName
    FROM Presidents
    GROUP BY lastName
    HAVING COUNT(DISTINCT firstName) > 1
    

    点击以下链接查看正在运行的演示:

    SQLFiddle

    【讨论】:

    • 哦,没错。我应该按姓氏分组,然后删除具有相同名字的人。非常感谢。我一直在沿着 DISTINCT firstName, lastName 一起思考,以便名字和姓氏的组合是唯一的。无论如何,谢谢:)
    猜你喜欢
    • 2015-05-25
    • 2013-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多