0

我试图使用 DISTINCT 从表中获取值,但这不起作用,这是我正在做的事情

SELECT top100albums.songs, english_fm.artist, 
    english_fm.album, english_fm.image
FROM top100albums, english_fm
WHERE top100albums.songs = english_fm.album

我很困惑如何在这个查询中使用 DISTINCT 我可以像这样使用它......

 SELECT  top100albums.songs, english_fm.DISTINCT(artist), 
     english_fm.DISTINCT(album), english_fm.DISTINCT(image)
 FROM top100albums, english_fm
 WHERE top100albums.songs = english_fm.album

这是错误的......

我想获得 DISTINCT(这些行艺术家、专辑、来自表 english_fm 的图像的重复结果,所以我该怎么做

4

5 回答 5

2

尝试这个

   SELECT top100albums.songs, english_fm.artist, english_fm.album, english_fm.image
   FROM top100albums, english_fm
   WHERE top100albums.songs = english_fm.album
   GROUP BY english_fm.artist, english_fm.album, english_fm.image

不同用途组的嵌入

于 2013-02-22T16:59:42.903 回答
2
SELECT top100albums.songs, english_fm.artist, english_fm.album, english_fm.image
FROM top100albums, english_fm
WHERE top100albums.songs = english_fm.album
GROUP BY top100albums.songs, english_fm.artist, english_fm.album, english_fm.image
于 2013-02-22T16:59:46.247 回答
1

这是具有所需结果的完全优化的查询。

尝试这个

SELECT ta.songs, ef.artist, ef.album, ef.image
FROM english_fm AS ef
INNER JOIN top100albums AS ta ON ef.album = ta.songs
GROUP BY ef.artist, ef.album, ef.image;

希望,这会有所帮助

于 2013-02-22T17:19:31.203 回答
0

DISTINCT适用于行而不是单个列。

因此,根据您的要求使用“GROUP BY”。

SELECT top100albums.songs, english_fm.artist, english_fm.album), english_fm.image
 FROM top100albums, english_fm
 WHERE top100albums.songs = english_fm.album GROUP BY english_fm.artist, english_fm.album, english_fm.image;
于 2013-02-22T17:07:47.160 回答
0

DISTINCT关键字告诉引擎返回唯一的cortege(结果集记录)。请参阅文档中的用法。

选择语法

于 2013-02-22T17:01:50.320 回答