한 아이피에서 여러 계정을 사용하는 경우를 방지하기 위해서 쿼리를 짜고 있습니다
특정 테이블에 회원 아이디 컬럼, 회원 이름 컬럼, 접속 아이피 컬럼이 있습니다.
이 테이블에서 회원 아이디는 다른데 접속 아이피가 같은 경우 뽑고 싶습니다
초보라서 어렵네요 ㅠㅠ
Comment 6
-
축구선수
2018.03.12 10:06
-
스터프
2018.03.12 11:22
초보라서 생각보다 작성하기가 어렵네요 ㅠㅠ 조언 감사합니다
-
폭주
2018.03.12 10:22
SELECT TA.*
FROM
(
SELECT 아이피컬럼명,계정명
FROM 테이블명
GROUP BY 아이피컬럼명,계정명
) AS TA
JOIN
(
SELECT 아이피컬럼명,COUNT(*) AS CNT
FROM
(
SELECT 아이피컬럼명,계정명
FROM 테이블명
GROUP BY 아이피컬럼명,계정명
) AS T
GROUP BY 아이피컬럼명
HAVING COUNT(*)>1
) AS TB
ON TA.아이피컬럼명=TB.아이피컬럼명
ORDER BY 아이피컬럼명 -
스터프
2018.03.12 11:21
감사합니다 ㅠㅠ 조언 해주신대로 하니 잘 나오는데 시간대도 뽑고 싶어서 시간 컬럼도 넣으니 시간대는 아무래도 다 다르다보니 여러개가 나오게 됩니다... 시간대는 그 행에서 가장 최근껄로 처음 처럼 한개씩 뽑고 싶은데 다시 여쭤봐도 될까요
현재SELECT TA.*
FROM
(
SELECT 아이피컬럼명,계정명 ★★★★이쪽 부분에 ,시간컬럼을 넣었습니다
FROM 테이블명
GROUP BY 아이피컬럼명,계정명★★★★이쪽 부분에,시간컬럼을 넣었습니다(시간대는 다 달라서 아무래도 여러개가 나오게 됩니다)
) AS TA
JOIN
(
SELECT 아이피컬럼명,COUNT(*) AS CNT
FROM
(
SELECT 아이피컬럼명,계정명
FROM 테이블명
GROUP BY 아이피컬럼명,계정명
) AS T
GROUP BY 아이피컬럼명
HAVING COUNT(*)>1
) AS TB
ON TA.아이피컬럼명=TB.아이피컬럼명
ORDER BY 아이피컬럼명 -
폭주
2018.03.12 15:48
SELECT TA.*
FROM
(
SELECT 아이피컬럼명,계정명,MAX(시간컬럼) AS 최종접속시간
FROM 테이블명
GROUP BY 아이피컬럼명,계정명) AS TA
JOIN
(
SELECT 아이피컬럼명,COUNT(*) AS CNT
FROM
(
SELECT 아이피컬럼명,계정명
FROM 테이블명
GROUP BY 아이피컬럼명,계정명
) AS T
GROUP BY 아이피컬럼명
HAVING COUNT(*)>1
) AS TB
ON TA.아이피컬럼명=TB.아이피컬럼명
ORDER BY 아이피컬럼명 -
스터프
2018.03.13 07:45
감사합니다!ㅠㅠ
Group by 를 사용해서 정렬하면 되지 않을까요?