특정 문제를 해결하기 위해 수 시간 동안 앉아 있었지만 얻을 수 없었습니다. 마지막으로 여기에 게시하기로 결정했습니다. 여기에 몇 가지 기록,한 가지 유형의 기록 만 가져 오기
╔════════╦════════════╦═════════╦══════════════════╗
║ AUTOID ║ PERSONNAME ║ FLOWER ║ Other columns... ║
╠════════╬════════════╬═════════╬══════════════════╣
║ 1 ║ Alex ║ Rose ║ ║
║ 2 ║ Rene ║ Rose ║ ║
║ 3 ║ Rene ║ Jasmin ║ ║
║ 4 ║ Darwin ║ Rose ║ ║
║ 5 ║ Alex ║ Rose ║ ║
║ 6 ║ Darwin ║ Jasmin ║ ║
║ 7 ║ Alex ║ Rose ║ ║
║ 8 ║ Rene ║ Jasmin ║ ║
║ 9 ║ Hello ║ World ║ ║
║ 10 ║ Hello ║ World ║ ║
╚════════╩════════════╩═════════╩══════════════════╝
나는이 결과를 얻을 수있는 방법
, 모두 그/그녀의 기록에 꽃의 한 종류를 가지고있는 사람입니다.
╔════════════╦════════════╗
║ PERSONNAME ║ FLOWERNAME ║
╠════════════╬════════════╣
║ Alex ║ Rose ║
║ Hello ║ World ║
╚════════════╩════════════╝
제가 시도한 가장 좋은 것은 아래의 쿼리입니다. 여전히 작동하지 않습니다.
SELECT DISTINCT t1.PersonName, t1.Flower
FROM TableName t1
INNER JOIN
(
SELECT personname, COUNT(DISTINCT flower) totals
FROM tableName
GROUP BY personname, Flower
) t2 ON t1.personname = t2.personname and
t2.totals = 1
아이디어가 있으십니까? 이 문제에 GROUP BY
절, HAVING
절과 COUNT()
을 사용할 수 있습니다
무엇이 논리입니까? 왜 그 두 기록 만? – fthiella
그런 결과를 얻는 데 필요한 논리는 무엇입니까? – kapa
@fthiella 모든 사람은 모든 레코드에 대해 하나의 유형의 꽃만 있기 때문에. –