안녕Ȣ16;세요.
mysql 쿼리에 대해서 1656;문Ȣ16;고1088; 올립니다.
아래와 같1060; 데1060;터가 1080;1012; ǐ12; code = 'A061'1068; ǐ12; count(grpNo) = 11064; id만 뽑아내고 dz10;1008;데160;
group by를 Ȣ16;면서 뽑1004;/140; 해도 도1200;7176; 모르,192;네요.
id00011008; code = 'A061'1068;ǐ12; 해NJ17; 데1060;터1032; grpNo = 21064; count(grpNo) 가 3 1060;라서 뽑1648; 않고
id00021032; ᅆ1;우 grpNo = 11064; count(grpNo)가 11060;라서,
결과값1004;/196; id0002 를 뽑고 dz10;1008;데 Ǻ12;떻,172; 해야할까요?160;
database에 대한 1648;식1060; 1687;아서 문1032;글1012; 남깁니다.160;
id | tmpCode | code | dcode | grpNo |
id001 | 0002 | A002 | A002001 | 3 |
id001 | 0003 | A003 | A003001 | 4 |
id001 | 4990 | A006 | A006001 | 2 |
id001 | 0035 | A025 | A025001 | 1 |
id001 | 4991 | A061 | A061001 | 2 |
id001 | 4992 | A062 | A062001 | 2 |
id002 | 4991 | A061 | A061001 | 1 |
id003 | 0037 | A029 | A029001 | 1 |
±×·³ ÆíÇÏ°í DB ÀÚü°¡ index °¡ ÀÖ¾î¾ß Çϴµ¥.
¾øÀ¸¸é µÎ°íµÎ°í °è¼Ó ºÒÆíÇÕ´Ï´Ù.
´ëÃæ ÀÌ·± Äõ¸®¸¦ ¿øÇϽô µí ÇÕ´Ï´Ù.
SELECT id
FROM Å×À̺í¸í a
WHERE a.code = 'A061'
AND EXISTS (
SELECT 1
FROM Å×À̺í¸í c
WHERE c.grpNo IN (
SELECT grpNo
FROM Å×À̺í¸í b
WHERE b.id=a.id and b.code=a.code
)
AND c.id=a.id
GROUP BY grpNo
HAVING COUNT(*) = 1
)
Àü Áú¹®Àº ÀÌÇØÇÑ °Å °°Àºµ¥ °áÁ¤ÀûÀ¸·Î DB¸¦ ¸ô¶ó¼ ¤¾¤¾¤¾
ÀÌ·¸°Ô ½¬¿î°É Áú¹®ÇϼÌÀ»¶ó³ª¿ä ?
count ºÎºÐÀ» ³õÃƽÀ´Ï´Ù.
Äڵ尡 A061ÀÏ ¶§ÀÇ ±×·ì³Ñ¹ö°¡ ²À 1À̾î¾ß ÇÏ´Â °Ô ¾Æ´Ï¶ó.. Äڵ尡 A061ÀÏ ¶§ÀÇ ±×·ì³Ñ¹ö°¡ ¹¹°¡ µÇ¾úµç, ±× ±×·ì³Ñ¹öÀÇ °¹¼ö¸¦ Ä«¿îÆ® Çؼ ±×°Ô 1ÀÎ °æ¿ì¿¡¸¸ ±× ID¸¦ ÃßÃâÇÏ°í ½Í´Ù..´Â ¾ê±âÀΰ¡ º¸³×¿ä. ^^;;;
Áï, id001Àº Äڵ尡 A061ÀÏ ¶§ÀÇ ±×·ì³Ñ¹ö°¡ 2Àε¥, id001ÀÇ ·¹ÄÚµå Áß ±×·ì³Ñ¹ö°¡ 2ÀÎ °Ô µµÇÕ 3°³ ÀÖÀ¸¹Ç·Î id001Àº Å»¶ô.
id002´Â Äڵ尡 A061ÀÏ ¶§ÀÇ ±×·ì³Ñ¹ö°¡ 1Àε¥, id002ÀÇ ·¹ÄÚµå Áß ±×·ì³Ñ¹ö°¡ 1ÀÎ °Ô µü Çϳª ÀÖÀ¸¹Ç·Î ´ç÷!
ÀÌ·± ¾ê±âÀΰ¡ º¸±º¿ä.. (À̹ø¿£ Á¦´ë·Î ÀÌÇØÇß±æ.. ¤¾) ^^;; Á˼ÛÇÕ´Ï´Ù.