0

是否有一种简单的非 JOIN 方式来执行此任务?

mysql_query("select DISTINCT artist, id from ringtones where artletter='A'");

结果应该是:所有没有重复的艺术家值和相应的 id。

4

2 回答 2

3

通过执行以下操作,您可以获得每个艺术家的一行,该艺术家的所有 ID 在一行上:

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;

(你可以通过使用而不是得到最后一个idMAXMIN

如果您想要该艺术家的第一行或最后一行(基于id),您可以按照该链接中的说明进行分组最大值。

于 2012-11-22T09:12:44.820 回答
0

可能你正在寻找这个..

select DISTINCT artist, id where id IN(select DISTINCT id from ringtones where artletter='A')
于 2012-11-22T09:13:55.927 回答