我试图使用DISTINCT从表中获取值,但这不起作用,这是我正在做的wt
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的图像,所以我该怎么做
答案 0 :(得分: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
而不是使用分组
答案 1 :(得分: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
答案 2 :(得分: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;
希望,这会有所帮助
答案 3 :(得分:0)
DISTINCT
关键字告诉引擎返回唯一的cortege(结果集记录)。请参阅文档中的用法。
答案 4 :(得分: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;