SQL Áú¹®...

   Á¶È¸ 4905   Ãßõ 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 2719/5682
2015-12   1489957   ¹é¸Þ°¡
2014-05   4953475   Á¤ÀºÁØ1
2017-02   4906   Áø°ï±è
2019-03   4906   Á¤¿¬
2015-10   4906   ±è°Ç¿ì
2014-11   4906   ¿¥ºê¸®¿À
2016-04   4906   À©µµ¿ì10
2008-12   4906   °­¹®¼®
2007-10   4906   ±èÇѱ¸
2008-11   4906   ±¸¿µ±æ
2012-10   4906   ¿©ÁÖÀÌ»óµ·
2016-03   4906   ȸ¿øK
2006-05   4906   Áøµ¿Çö
2015-10   4907   ±èÀçÇå
2009-04   4907   ½ÅÀǼҸ®
2008-08   4907   ±èº´ÈÆ
2016-05   4907   ÀÌÀ±ÁÖ
2006-04   4907   ±ÇÈñ¼®
2015-05   4907   Ä«¹Ì³ª±â
2007-05   4907   Çѵμº
2007-06   4907   ¿ì½Â¿±
2015-08   4907   µþ±â´ëÀå