代码之家  ›  专栏  ›  技术社区  ›  Seungho Lee

正在检索两列,并对MySQL中的每列应用“distinct”

  •  1
  • Seungho Lee  · 技术社区  · 7 年前

    这是一张桌子 books

    +--------------+--------------+
    | author_fname | author_lname |
    +--------------+--------------+
    | Dan          | Harris       |
    | Freida       | Harris       |
    | George       | Saunders     |
    +--------------+--------------+
    

    我知道如果 DISTINCT 用作

    SELECT DISTINCT author_fname, author_lname FROM books;

    这将给我下面的结果,因为它将给我不同的行组合 author_fname author_lname :

    +——————+————————————————————————————————————————————————————————————————————————————————————————————————————+
    |作者姓名|
    +——————+————————————————————————————————————————————————————————————————————————————————————————————————————+
    |丹哈里斯|
    |弗里达哈里斯|
    |乔治·桑德斯|
    +——————+————————————————————————————————————————————————————————————————————————————————————————————————————+
    

    有什么办法可以申请吗 独特的 每列 作者姓名 作者姓名 就像下面的结果那样我只得到 Harris Saunders 对于 作者姓名 除申请外 独特的 到一列?

    +--------------+--------------+
    | author_fname | author_lname |
    +--------------+--------------+
    | Dan          | Harris       |
    | Freida       | Saunders     |
    | George       |    sth       |
    +--------------+--------------+
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   Gordon Linoff    7 年前

    如果每个不同的姓氏需要一行,则可以使用 group by :

    select last_name, min(first_name)
    from books
    group by last_name;