|
[필독] 처음 오시는 분을 위한 안내 (734) |
정은준1 |
2014-05 |
5155764 |
0 |
2014-05
5155764
1 정은준1
|
|
(광고) 단통법 시대의 인터넷가입 가이드(ver2.0) (234) |
백메가 |
2015-12 |
1690158 |
25 |
2015-12
1690158
1 백메가
|
17425 |
MS-SQL2000을 쓰면서 다른 서버의 SQL서버가 등록이 안됩니다... (1) |
김건우 |
2004-07 |
9324 |
22 |
2004-07
9324
1 김건우
|
17424 |
다시 가입했는데 이전에 사용하던 이메일은 사용이 불가능한가요? |
Steradian |
2019-07 |
2189 |
0 |
2019-07
2189
1 Steradian
|
17423 |
혹시 mame 게임중 2인용이 되는 게임에서 2인용캐릭터를 1인용으로 선택해서 할수있… (2) |
김건우 |
2013-09 |
9405 |
0 |
2013-09
9405
1 김건우
|
17422 |
노트북에서 블루투스 (6) |
안창준 |
2007-04 |
5175 |
4 |
2007-04
5175
1 안창준
|
17421 |
안드로이드 어플에 내재된 xml편집하기? (1) |
참세상맹글기 |
2010-12 |
10616 |
0 |
2010-12
10616
1 참세상맹글기
|
17420 |
씰링팬 속도 조절 가능여부.. (7) |
김준유 |
2013-09 |
10464 |
0 |
2013-09
10464
1 김준유
|
17419 |
아웃룩 왼쪽바 메뉴창이 없어졌어요. (7) |
광주동키호테 |
2023-11 |
2034 |
0 |
2023-11
2034
1 광주동키호테
|
17418 |
win2003 standard버전에서 클러스터링을 지원 하는지요? (2) |
이지언 |
2004-08 |
6944 |
47 |
2004-08
6944
1 이지언
|
17417 |
wowlan 기능 쓰고 계신분 있으신가요? (3) |
osthek83 |
2018-06 |
5058 |
0 |
2018-06
5058
1 osthek83
|
17416 |
OS중 CPU4개 인식하는 OS는 어떤게 있나요? (3) |
윤인걸 |
2004-08 |
7030 |
7 |
2004-08
7030
1 윤인걸
|
17415 |
[re] 요새 주상복합 아파트에서 공유기 쓸려면 어떻게 해야하나요 (5) |
이인 |
2007-04 |
5338 |
11 |
2007-04
5338
1 이인
|
17414 |
LCD 모니터 고장 증상 문의 (3) |
김남성 |
2011-01 |
8674 |
0 |
2011-01
8674
1 김남성
|
17413 |
구형 메인보드에 사용할만한 케이스 추천 부탁드립니다. (10) |
해피버그 |
2013-09 |
10908 |
0 |
2013-09
10908
1 해피버그
|
17412 |
현재 X10DRL-i 상태입니다.(도움주신분들 ㄱㅅ합니다) (37) |
밍돌이 |
2022-04 |
5279 |
0 |
2022-04
5279
1 밍돌이
|
17411 |
freenas, nas4free 적정 메모리와 파일시스템 관련 질문 (7) |
NANDROID |
2015-02 |
6125 |
0 |
2015-02
6125
1 NANDROID
|
17410 |
발목을 잘 잡아주는 신발 있으면 추천 좀 부탁 드립니다. (11) |
이유종 |
2022-04 |
1955 |
0 |
2022-04
1955
1 이유종
|
17409 |
슈마 지포스 2 MX(400)질문 입니다. (3) |
오경 |
2004-09 |
7244 |
51 |
2004-09
7244
1 오경
|
17408 |
ESXI 6.5 설치방법 질문 드립니다 (3) |
전진 |
2020-10 |
3800 |
0 |
2020-10
3800
1 전진
|
17407 |
스케이러블 1세대 CPU에 3200메모리 장착? (9) |
다함께싸다구 |
2023-12 |
1508 |
0 |
2023-12
1508
1 다함께싸다구
|
17406 |
일본에서 cpu 싸게 파는곳 있나요? (7) |
청춘 |
2013-09 |
5820 |
0 |
2013-09
5820
1 청춘
|
A.Country, a.cnt
From (
SELECT country,COUNT(*) as cnt
FROM author
GROUP BY country
) a
Where a.cnt < 3;
Mysql은 거의 사용해보진 안았지만 대략 이런 쿼리가 될거 같습니다.
Mysql 은 안된다면 위에처럼 해야겠지요
SELECT country
FROM author
GROUP BY country
Having count(*) < 3
rank() 를 사용하시면 원하시는 기능을 쉽게 구현할 수 있을 텐데...
https://codingdog.tistory.com/entry/sql-rank-over-%ED%95%A8%EC%88%98-%EC%95%8C%EB%A9%B4-%EC%86%90%EC%89%BD%EA%B2%8C-%EB%9E%AD%ED%82%B9%EC%9D%84-%EB%A7%A4%EA%B8%B8-%EC%88%98-%EC%9E%88%EB%8B%A4
having 이란 것은 처음 기대와는 전혀 다른 의미였습니다.
즉 having 이란 중복이란 것은 맞는데...
중복이 몇 번된 즉 그 조건에 맞는 것만을 쿼리해서 distict 으로 한개씩만 보여주는 것이였습니다.
원래 목적은 만약 중복이 있다면 두번까지만 가져오고,
그 나머지는 쿼리해서 가져오지 않는 것이였습니다.
결국은 php 으로 동일여부를 체크해서 두번까지만 두고 나머지는 삭제하는 방식으로 해야할 듯 합니다.
결론은 이런 쿼리는 불가능이란 것으로 생각됩니다.
원하시는것이 구체적으로 무엇인지만 얘기주시면
2cpu 능력자 분들 많으십니다
제가 자주 얘기하는것중 하나가
프로그램으로 안되는 것은
없고 다만 몰라서 못하고 되더라도 시간이 걸릴뿐입니다.
하나의쿼리로 안된다면 펑션이나 프로시져로 만드셔도 됩니다.
group by 를 쓴다는건 집계 함수를 사용한다는 것인데
이때 그 집계조건을 걸어주는 문장입니다.
그래서 having count(*) < 3 만 가능한게 아니라
having sum(hit) > 100 이런식으로도 가능합니다.
그리고 원하시는건 group by having 으로는 안되고
row_number over partition by 를 이용하셔야 합니다.
가령 메인페이지에 최근 게시물 10개를 보여주는데
하루에 글쓴이가 2번까지는 나오게 한다면 ( 같은날 글 3개 썼다면 첫번째 글은 제외) 다음과 같이 하시면 됩니다.
select a.*
from (
select row_number() over(partition by 등록일YYYYMMDD, 글쓴이 order by idx desc) rn, a.*
from 게시판 a) a
where a.rn < 3
order by idx desc
limit 10
"mysql 관련 윈도우 함수"라고 검색하여 공부해 보시고
조금 난해하다 싶으시면 그냥 로직으로 처리하는 것도 방법입니다.
개발은 구현하는 방법이 무척 다양하고 뽀대나는 코드보다는
본인이 확실히 이해하고 익숙한 코드가 더 좋은 방법일 수 있습니다.