在 MySQL 中获取关联列的不同结果
在 MySQL 中,如果您需要从特定列(例如 FirstName)检索唯一值)同时确保保留其他列中的相应值(例如 ID 和 LastName),不能简单地使用 DISTINCT关键字。
例如,考虑下表:
ID 名字 姓氏<br>1 John Doe<br>2 Bugs Bunny<br>3 John Johnson<br> </p> <p>如果您想检索不同的 FirstName 值,您可能会想像这样使用 DISTINCT:</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">SELECT DISTINCT FirstName FROM table;
但是,这种方法仅返回 FirstName 列,并且不提供相应的 ID 和 LastName 值。
要获得所需的结果,您可以利用GROUP BY 子句如下:
SELECT ID, FirstName, LastName FROM table GROUP BY FirstName;
在此查询中,FirstName 被指定为分组列。因此,对于每个不同的 FirstName 值仅返回一行。此外,查询从每个 FirstName 的第一次出现中检索相应的 ID 和 LastName 值。
使用此方法,结果集将显示如下:
ID FirstName LastName <br>1 John Doe<br>2 个虫子Bunny<br>
此解决方案可确保您获得唯一的 FirstName 值,同时保持与正确 ID 和 LastName 的关联。
以上是如何在 MySQL 中检索具有关联列的 DISTINCT 值?的详细内容。更多信息请关注PHP中文网其他相关文章!