SQL Áú¹®...

   Á¶È¸ 4913   Ãßõ 0    

g4_member 테이블의 각 레코드에는 mb_nick 이 들어 있습니다.

mb_nick은 중복이 되면 안되는데

과거의 데이터에 중복된 닉네임이 들어 있었습니다.


원하는 SQL

g4_member 테이블에서, mb_nick의 count가 2 이상인 경우 mb_id 와 mb_nick, 중복갯수


sub query를 잘 안하다 보니, 머리가 멘붕에 빠졌습니다.

- to be continue -
ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
Æ÷¿Ã 2016-03
DB Á¾·ù´Â¿ä?
     
ȸ¿øK 2016-03
mysql ÀÔ´Ï´Ù.
ÂÊÁö ¿À·ùÀÇ ¿øÀÎÀÌ Áߺ¹µÈ nickÀÌ Àִ ȸ¿øÀε¥, ¸îºÐÀ̳ª ±×·±°ÍÀÎÁö ã¾Æ¾ß Çؼ­¿ä.
GROUP BY mb_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
DB ¿¡ ºÎÇϸ¦ Á» Á൵ ±¦ÂúÀ¸¸é...
group by nick À¸·Î Çؼ­ nick °ú count ¸¦ ±¸ÇÑ Å×À̺íÀ» ¸¸µé°í (¼­ºêÄõ¸®(?)·Î Çصµ µË´Ï´Ù)
member Å×À̺í°ú À§ÀÇ Å×ÀÌºí¿¡¼­ nick À¸·Î Á¶ÀÎÀ» °Ç ´ÙÀ½...nick, id, count ¸¦ Ç¥½ÃÇÏ¸é µÇÁö ¾ÊÀ»±î¿ä?
ÀÚ¼¼È÷ »ý°¢Çغ» °Ç ¾Æ´Ï°í...´ëÃæ...°¨À¸·Î...ÇÖÇÖ~ ;;;
     
Çê...´ñ±Û ´Ù´Â »õ¿¡ Äõ¸®±îÁö ¿Ã·ÁÁֽŠºÐÀÌ °è½Ã³×¿ä.
°°Àº ¹æ¹ýÀÔ´Ï´Ù.
     
Àúµµ...
õ¿Üõ´Ô°ú °°Àº¹æ¹ýÀÔ´Ï´Ù.
´Ù¸¸ õ¿Üõ´Ô²²¼­ ¸»¾¸Çϼ̵íÀÌ DB¿¡ ºÎÇÏ°¡ ¸¹ÀÌ °©´Ï´Ù. ÇÁ·Î±×·¥¿¡¼­ ÀÏ»óÀûÀ¸·Î ¾²ÀÏ°Í °°À¸¸é ´Ù¸¥¹æ¹ýÀ» ãÀ¸½ÉÀÌ ¿Ç½À´Ï´Ù.
Å©¸®¹Ì 2016-03
¾Ñ, ¼Õ ³íÁö ¿À·¡µÅ¼­ ¹®Á¦ ÀÌÇØ·ÂÀÌ ¹Ù´ÚÀ̳׿ä. µþ±â´ëÀå´Ô °ÍÀ» ¾à°£ ¼öÁ¤Çؼ­ ¾²¸é µÇ°Ú³×¿ä ÇÖ..
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
     
ȸ¿øK 2016-03
+1
select mb_id, mb_nick, cnt
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
ȸ¿øK 2016-03
°¨»çÇÕ´Ï´Ù.
¹®Á¦°¡ µÇ´Â records ¼ýÀÚ(Áߺ¹µÈ ´Ð³×ÀÓÀ» °¡Áø ȸ¿ø¼ö)°¡ 3¸¸ 6õ°³ÀÌ ³Ñ³×¿ä.
ÇÁ·Î±×·¥À¸·Î ½Ï Á¤¸®ÇØ¾ß ÇÒ °Í °°½À´Ï´Ù. -..-...
°ú°Å¿¡ °Ô½ÃÆÇ º¯°æ, DB º¯È¯ µîÀÇ ÀÛ¾÷À» ÇÒ ¶§, unique³ª ±×·± °Í ¾øÀÌ ±×³É ¾þÀº °Í °°¾Æ¿ä.
¿¡ÈÞ...
¹Ú¹®Çü 2016-03
ÂùÂùÈ÷ Çϼ¼¿ä..

Àú·± ÀÛ¾÷Àº Çѹø Çعö¸®¸é ´Ù½Ã µÇµ¹¸®±â ¾î·Æ±â¿¡..
¹®±¤È­ 2016-03
ÂÊÁö ±â´ÉÀÌ ¾ÆÀ̵𸦠ÂѾư¡´Â°Ô ¾Æ´Ï¶ó ´ÐÀ» µû¶ó°¡´Â °ÍÀ̾ú³ª¿ä?
     
ȸ¿øK 2016-03
ÂÊÁö±â´ÉÀÌ id¸¦ µû¶ó°¡°Ô ÇÏ·Á¸é, id°¡ html ¹®¼­¿¡ ³ëÃ⠵Ǿî¾ß ÇÕ´Ï´Ù.
html ¹®¼­¿¡ id°¡ ³ëÃâµÇ¸é °³ÀÎÁ¤º¸ À¯ÃâÀÇ À̽´°¡ À־
´ÐÀ» Ŭ¸¯ÇÏ´Â ¼ø°£ ajax·Î ¼­¹ö¿¡¼­ sidevew¸¦ ¸¸µé¾î¼­ °¡Á®¿À°Ô Çص׽À´Ï´Ù.
±×·¡¼­ uniqueÇÑ sideviewÀÇ Á¤º¸°¡ nickÀ» µû¶ó°¡°Ô Çߴµ¥
°ú°Å¿¡ ÀÛ¾÷Çß¾ú´ø ºÐµéÀÌ master µ¥ÀÌÅÍÀÇ cleanÀ» ÇÏÁö ¾Ê¾Æ¼­ ÀÌ·± À̽´°¡ »ý±â³×¿ä.
id¿¡ ¿¬µ¿µÇ´Â ½Ã¸®¾óÇÏÁö ¾ÊÀº uniqueÇÑ random ¹®ÀÚ¿­À» ÀÌ¿ëÇÏ´Â ¹æ¹ýÀ¸·Î º¯°æÀ» °í¹ÎÇÏ°í ÀÖ½À´Ï´Ù.


QnA
Á¦¸ñPage 2408/5684
2014-05   4957423   Á¤ÀºÁØ1
2015-12   1493868   ¹é¸Þ°¡
2016-04   4320   e5472
2016-04   4924   º¸ÅÁ
2016-04   5228   k39214k
2016-04   4962   Á¦½ºÆÛÁî
2016-04   4050   ±è°Ç¿ì
2016-04   4294   ÆÒµµ¶ó
2016-04   20848   ÇÑÈ¿¼®
2016-04   10101   amplifier
2016-04   7183   Æ۽̱Û
2016-04   6377   e5472
2016-04   5230   e5472
2016-04   5459   ¹Ú³²±Ô
2016-04   4231   ¾ÈÇü°ï
2016-04   5464   ±è°Ç¿ì
2016-04   4486   ½Öcpu
2016-04   4333   ±ô¹Ú±ô¹Ú°¡
2016-04   4294   MS77
2016-04   10291   Á¦½ºÆÛÁî
2016-04   3646   epowergate
2016-04   4376   ºí·ç¸ð¼Ç