Profile老王的网络日志BlogLists Tools Help

Blog


    4/26/2005

    考大家一个SQL题目

    有一个table:
    book
    --------
    id      name
    1       aaa
    2       bbb
    3       aaa
    4       ccc
    ..........

    要求用一条sql语句,重复的书名删除掉,只保留一个,如上面的变成
    book
    --------
    id      name
    1       aaa
    2       bbb
    4       ccc
    ..........
    重复的删除哪个都可以,只要只保留一个就可以

    答案:

    DELETE
    FROM
        book
    WHERE
        id NOT IN (
            SELECT
                id
            FROM
                book
            GROUP BY
                name

        )

    用到了子查询,我没有测试,大体思路是对的。