gpt4 book ai didi

mysql - 如何从 SQL 中的表中选择唯一行?

转载 作者:行者123 更新时间:2023-11-29 04:29:19 25 4
gpt4 key购买 nike

我有一个表格,其中包含艺术家、标题、专辑和日期、IP 等的其他列现在我想连续显示独特的艺术家名称和专辑比如说,

artist , album, title
a , b , c
a , b , c
d , e , f
a , b , d

那么它必须显示

a,b,c
d,e,f
a,b,d

如何?

最佳答案

您可以使用 DISTINCT 关键字。

SELECT DISTINCT artist, title, album 
FROM YourTable

但如果这些在每一行中重复出现,您的设计似乎并没有规范化。

(在评论后编辑。)您似乎需要其他列,但您不关心其中显示了哪些可能的匹配值。在那种情况下,你可以使用 GROUP BY 据我所知,如果你没有在 GROUP BY 中指定选定的列,你会得到这个,但它在 MySQL 中是完全无效的所有其他 RDBMS。

SELECT artist,
title,
album,
id,
link,
artistlink,
albumlink,
songlength,
ip,
timestamp,
image
FROM wp_air1nowplaying_unique
GROUP BY artist,
title,
album
ORDER BY artist ASC,
album ASC,
title ASC

在其他 RDBMS 中,您需要将它们包装在一个聚合中。例如

SELECT artist,
title,
album,
MAX(id) id,
MAX(link) link,
MAX(artistlink) artistlink,
MAX(albumlink) albumlink,
MAX(songlength) songlength,
MAX(ip) ip,

返回的值很可能来自与上述不同的行。为避免这种情况,您可以使用 greatest-n-per-group查询

关于mysql - 如何从 SQL 中的表中选择唯一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5545458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com