在 MySQL 中的每一列上应用 'DISTINCT' 检索两列
Retrieving two columns with 'DISTINCT' applied on each column in MySQL
这是一个tablebooks
+--------------+--------------+
| author_fname | author_lname |
+--------------+--------------+
| Dan | Harris |
| Freida | Harris |
| George | Saunders |
+--------------+--------------+
我知道如果 DISTINCT
用作
SELECT DISTINCT author_fname, author_lname FROM books;
这会给我以下结果,因为它会给我不同的行 author_fname
和 author_lname
:
+--------------+--------------+
| author_fname | author_lname |
+--------------+--------------+
| Dan | Harris |
| Freida | Harris |
| George | Saunders |
+--------------+--------------+
有什么方法可以将 DISTINCT
应用到每一列 author_fname
和 author_lname
如下结果,这样我只得到 Harris
和 Saunders
author_lname
除了将 DISTINCT
应用到列之外?
+--------------+--------------+
| author_fname | author_lname |
+--------------+--------------+
| Dan | Harris |
| Freida | Saunders |
| George | sth |
+--------------+--------------+
如果您希望每个不同的姓氏占一行,您可以使用 group by
:
select last_name, min(first_name)
from books
group by last_name;
这是一个tablebooks
+--------------+--------------+ | author_fname | author_lname | +--------------+--------------+ | Dan | Harris | | Freida | Harris | | George | Saunders | +--------------+--------------+
我知道如果 DISTINCT
用作
SELECT DISTINCT author_fname, author_lname FROM books;
这会给我以下结果,因为它会给我不同的行 author_fname
和 author_lname
:
+--------------+--------------+
| author_fname | author_lname |
+--------------+--------------+
| Dan | Harris |
| Freida | Harris |
| George | Saunders |
+--------------+--------------+
有什么方法可以将 DISTINCT
应用到每一列 author_fname
和 author_lname
如下结果,这样我只得到 Harris
和 Saunders
author_lname
除了将 DISTINCT
应用到列之外?
+--------------+--------------+
| author_fname | author_lname |
+--------------+--------------+
| Dan | Harris |
| Freida | Saunders |
| George | sth |
+--------------+--------------+
如果您希望每个不同的姓氏占一行,您可以使用 group by
:
select last_name, min(first_name)
from books
group by last_name;