このタスクを実行するための、JOIN 以外の簡単な方法はありますか?
mysql_query("select DISTINCT artist, id from ringtones where artletter='A'");
結果は次のようになります: 対応する ID を持つ重複のないすべてのアーティスト値。
次のようにすると、アーティストごとに 1 つの行を取得でき、そのアーティストのすべての ID が 1 行に表示されます。
SELECT artist, GROUP_CONCAT(id) as `IDs`
FROM ringtones
WHERE artletter='A'
GROUP BY artist;
各アーティストの最初 だけが必要な場合は、これを試してください。id
SELECT artist, MIN(id) as `first_id`
FROM ringtones
WHERE artletter='A'
GROUP BY artist;
(代わりに を使用して最後 を取得できます)id
MAX
MIN
そのアーティストの最初または最後の行(に基づく) が必要な場合は、そのリンクで説明されているように、グループごとの最大値id
を実行できます。
おそらくあなたはこれを探しています..
select DISTINCT artist, id where id IN(select DISTINCT id from ringtones where artletter='A')