MariaDB必知必会
上QQ阅读APP看书,第一时间看更新

4.5 检索不同的行

正如你所见,SELECT语句返回所有匹配的行。然而,如果你不需要每一个重复出现的值该怎么办呢?例如,假设你想要products表中所有产品的供应商ID:

▼ 输入

▼ 输出

由于在products表中列出了14个产品,因此这个SELECT语句返回14行(尽管在列表中只有4个供应商)。因此,如何检索不同的值列表呢?

解决方案是使用DISTINCT关键字,顾名思义,该关键字指示MariaDB返回不同的值。

▼ 输入

▼ 分析

SELECT DINSTNCT vend_id告诉MariaDB只返回不同的(唯一)vend_id的行,因此只返回了4行,如以下输出所示。DISTINCT关键字必须放置在列名之前。

▼ 输出

注意

不能部分使用DISTINCT DISTINCT关键字应用于所有的列,而不仅仅应用于其后的一列。如果指定“SELECT DISTINCT vend_id,prod_price”,会检索所有的行,除非指定两列都不同。