这可能很简单,这是我的查询:
SELECT DISTINCT U.NAME, P.PIC_ID FROM USERS U, PICTURES P, POSTINGS P1 WHERE U.EMAIL_ID = P1.EMAIL_ID AND P1.PIC_ID = P.PIC_ID AND P.CAPTION LIKE '%car%';
但这只会删除具有相同u.name和p.pic_id的行中的重复项。我想要这样,如果名称有任何重复,则只剩下其他行。这是一个奇怪的查询,但是总的来说,我如何将不重复项应用于SELECT子句的单个列?
任意选择保留最小的PIC_ID。另外,请避免使用隐式连接语法。
SELECT U.NAME, MIN(P.PIC_ID) FROM USERS U INNER JOIN POSTINGS P1 ON U.EMAIL_ID = P1.EMAIL_ID INNER JOIN PICTURES P ON P1.PIC_ID = P.PIC_ID WHERE P.CAPTION LIKE '%car%' GROUP BY U.NAME;