SQL Áú¹®...

   Á¶È¸ 4899   Ãßõ 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 2715/5682
2015-12   1489153   ¹é¸Þ°¡
2014-05   4952611   Á¤ÀºÁØ1
2007-12   4899   ÀÌÁ¤±Ù
2014-09   4899   ¾Æ¸§´Ù¿î³ëÀ»
2015-05   4899   Áö±×Àç±×
2019-07   4899   Sunrise
2008-08   4899   Á¶ÀçÇö
2008-09   4899   ¼­¿ëȯ
2018-05   4899   ±è¿õÁ¤
2008-12   4899   Á¤¸íÇö
2016-02   4899   Ä«³×Å°ÄË
2014-11   4899   ȸ¿øK
2014-03   4900   ¹Ú¼º¸¸
2012-10   4900   ȸ¿øK
2015-08   4900   °¡ºü·Î±¸³ª
2016-09   4900   ½½·¯±×
2006-08   4900   ½É»ó±Õ
2008-10   4900   ¹Ú±¤´ö
2008-11   4900   À̽±Ô
2006-04   4900   ¿À»óÈÆ
2006-10   4900   ±èÁö¿µ
2019-05   4900   °­Çѱ¸