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キーワードは、一意のコルテッジ(結果セットレコード)を返すようにエンジンに指示します。ドキュメントの使用法を参照してください。

SELECT構文

于 2013-02-22T17:01:50.320 に答える
0

DISTINCT個々の列ではなく、行に適用されます。

したがって、要件には「GROUPBY」を使用してください。

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 に答える