【问题标题】:MYSQL Select Join - Specify Unique values on JoinMYSQL 选择连接 - 在连接上指定唯一值
【发布时间】:2013-08-16 21:27:35
【问题描述】:
SELECT T2.ITEM_ID AS item_ITEM_ID
FROM types T
JOIN items T2
ON T.ITEM_ID = T2.ITEM_PARENT_ID
WHERE T.ITEM_TYPE = 'I'
AND T2.ITEM_TYPE = 'I'
此查询从 T2 返回具有重复 T2.ITEM_PARENT_ID 的行。
如何指定此查询以仅返回具有唯一 T2.ITEM_PARENT_IDs 的行?
【问题讨论】:
标签:
mysql
select
join
unique
【解决方案1】:
计算重复次数并在大于 1 时过滤掉。
SELECT T2.ITEM_ID AS item_ITEM_ID, COUNT(*) dups
FROM types T
JOIN items T2
ON T.ITEM_ID = T2.ITEM_PARENT_ID
WHERE T.ITEM_TYPE = 'I'
AND T2.ITEM_TYPE = 'I'
GROUP BY item_ITEM_ID
HAVING dups = 1
DEMO