g4_member 테이블의 각 레코드에는 mb_nick 이 들어 있습니다.
mb_nick은 중복이 되면 안되는데
과거의 데이터에 중복된 닉네임이 들어 있었습니다.
원하는 SQL
g4_member 테이블에서, mb_nick의 count가 2 이상인 경우 mb_id 와 mb_nick, 중복갯수
sub query를 잘 안하다 보니, 머리가 멘붕에 빠졌습니다.
- to be continue -
g4_member 테이블의 각 레코드에는 mb_nick 이 들어 있습니다.
mb_nick은 중복이 되면 안되는데
과거의 데이터에 중복된 닉네임이 들어 있었습니다.
원하는 SQL
g4_member 테이블에서, mb_nick의 count가 2 이상인 경우 mb_id 와 mb_nick, 중복갯수
sub query를 잘 안하다 보니, 머리가 멘붕에 빠졌습니다.
ÂÊÁö ¿À·ùÀÇ ¿øÀÎÀÌ Áߺ¹µÈ nickÀÌ Àִ ȸ¿øÀε¥, ¸îºÐÀ̳ª ±×·±°ÍÀÎÁö ã¾Æ¾ß Çؼ¿ä.
ORDER BY COUNT(*) DESC ·Î Áߺ¹µÇ´Â mb_id¸¦ Á¶È¸ÇÏ°í
»ì¸±°ÍÀ» Ãß·Á¾ß ÇÒ°Í °°Àºµ¥¿ä?
¼ºêÄõ¸®·Î TOP 1¸¸ »©°í ³¯¸®´Â°Ç °¡´ÉÇÑÁö ¸ð¸£°Ú°í, º¯¼ö³ª if else °°Àº°É ¾²¸é ÇÑÅ¥¿¡ Á¤¸®°¡ µÇ°Ú³Ä¸¸ ´õ Å«¸àºØ¿¡ ºüÁú¼ö ÀÖÀ¸´Ï, ÀÏÀÏÀÌ Ã߸®¼Å¾ß ÇÒµí ÇÕ´Ï´Ù.
SELECT *
FROM g4_member AS member
LEFT JOIN (
SELECT
mb_nick, COUNT(*) AS C
FROM g4_member
GROUP BY mb_nick) AS CC ON member.mb_nick=CC.mb_nick
ORDER BY CC.C DESC
group by nick À¸·Î Çؼ nick °ú count ¸¦ ±¸ÇÑ Å×À̺íÀ» ¸¸µé°í (¼ºêÄõ¸®(?)·Î Çصµ µË´Ï´Ù)
member Å×À̺í°ú À§ÀÇ Å×ÀÌºí¿¡¼ nick À¸·Î Á¶ÀÎÀ» °Ç ´ÙÀ½...nick, id, count ¸¦ Ç¥½ÃÇÏ¸é µÇÁö ¾ÊÀ»±î¿ä?
ÀÚ¼¼È÷ »ý°¢Çغ» °Ç ¾Æ´Ï°í...´ëÃæ...°¨À¸·Î...ÇÖÇÖ~ ;;;
°°Àº ¹æ¹ýÀÔ´Ï´Ù.
õ¿Üõ´Ô°ú °°Àº¹æ¹ýÀÔ´Ï´Ù.
´Ù¸¸ õ¿Üõ´Ô²²¼ ¸»¾¸Çϼ̵íÀÌ DB¿¡ ºÎÇÏ°¡ ¸¹ÀÌ °©´Ï´Ù. ÇÁ·Î±×·¥¿¡¼ ÀÏ»óÀûÀ¸·Î ¾²ÀÏ°Í °°À¸¸é ´Ù¸¥¹æ¹ýÀ» ãÀ¸½ÉÀÌ ¿Ç½À´Ï´Ù.
select a.mb_id, b.mb_nick, b.cnt
from g4_member a,
( select mb_nick, count(*) cnt
from g4_member
group by mb_nick
having count(*) >= 2 ) b
where a.mb_nick = b.mb_nick
from g4_member a,
( select mb_nick, count(*) cnt
from g4_member
group by mb_nick
having count(*) > 2 ) b
where a.md_id = b.mb_id
and cnt >= 2
¹®Á¦°¡ µÇ´Â records ¼ýÀÚ(Áߺ¹µÈ ´Ð³×ÀÓÀ» °¡Áø ȸ¿ø¼ö)°¡ 3¸¸ 6õ°³ÀÌ ³Ñ³×¿ä.
ÇÁ·Î±×·¥À¸·Î ½Ï Á¤¸®ÇØ¾ß ÇÒ °Í °°½À´Ï´Ù. -..-...
°ú°Å¿¡ °Ô½ÃÆÇ º¯°æ, DB º¯È¯ µîÀÇ ÀÛ¾÷À» ÇÒ ¶§, unique³ª ±×·± °Í ¾øÀÌ ±×³É ¾þÀº °Í °°¾Æ¿ä.
¿¡ÈÞ...
Àú·± ÀÛ¾÷Àº Çѹø Çعö¸®¸é ´Ù½Ã µÇµ¹¸®±â ¾î·Æ±â¿¡..
html ¹®¼¿¡ id°¡ ³ëÃâµÇ¸é °³ÀÎÁ¤º¸ À¯ÃâÀÇ À̽´°¡ ÀÖ¾î¼
´ÐÀ» Ŭ¸¯ÇÏ´Â ¼ø°£ ajax·Î ¼¹ö¿¡¼ sidevew¸¦ ¸¸µé¾î¼ °¡Á®¿À°Ô Çص׽À´Ï´Ù.
±×·¡¼ uniqueÇÑ sideviewÀÇ Á¤º¸°¡ nickÀ» µû¶ó°¡°Ô Çߴµ¥
°ú°Å¿¡ ÀÛ¾÷Çß¾ú´ø ºÐµéÀÌ master µ¥ÀÌÅÍÀÇ cleanÀ» ÇÏÁö ¾Ê¾Æ¼ ÀÌ·± À̽´°¡ »ý±â³×¿ä.
id¿¡ ¿¬µ¿µÇ´Â ½Ã¸®¾óÇÏÁö ¾ÊÀº uniqueÇÑ random ¹®ÀÚ¿À» ÀÌ¿ëÇÏ´Â ¹æ¹ýÀ¸·Î º¯°æÀ» °í¹ÎÇÏ°í ÀÖ½À´Ï´Ù.