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

这是一张桌子

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 |

+--------------+--------------+

`DISTINCT` 是 MySQL 的一个关键字,用于筛选结果集的唯一行记录,即去除查询结果的重复数据。当你从数据库表检索数据时,如果希望只看到每一条数据的唯一值,而忽略掉那些相同的值,则可以使用 `DISTINCT` 关键字。 ### 使用示例 假设有一个名为 `users` 的表,其包含以下几条数据: | id | name | |----|------| | 1 | Tom | | 2 | Jack | | 3 | Tom | | 4 | Lily | | 5 | Jack | 如果你想要查询并显示所有唯一的用户名称,你可以使用 `DISTINCT` 关键字: ```sql SELECT DISTINCT name FROM users; ``` 这个 SQL 查询将返回: | name | |------| | Tom | | Jack | | Lily | ### `DISTINCT` 的应用场景 1. **去重统计**:当需要统计某一列独一无二的数据项的数量时,例如统计某种商品的不同种类。 ```sql SELECT COUNT(DISTINCT product_type) AS unique_types FROM products; ``` 2. **报表生成**:在构建报表时,需要展示不同类别、部门等汇总信息而不考虑具体的重复记录。 ```sql SELECT department, COUNT(employee_id) AS num_employees FROM employees GROUP BY department; ``` 3. **分析操作**:在数据分析时,去除重复项以获得更清晰的数据视图。 ### 注意事项 1. `DISTINCT` 只对所指定的列起作用,并不会影响到查询的其他部分,如 ORDER BY 或 WHERE 子句。 2. 当结合其他聚合函数(如 COUNT、SUM、MIN、MAX 等)一起使用时,它们会分别应用于每个单独的唯一值上。 3. 如果 `DISTINCT` 后面没有列出特定的列名,那么它默认会对查询所有选择的列去重。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值