UPDATE 문을 요청하세요.

WBOY
풀어 주다: 2016-08-04 09:22:11
원래의
1469명이 탐색했습니다.

<code>table_user

id            user            shangjiaid         vip
1           用户A            2                    0
2           用户B            3                    0
3           用户C            2                    0
4           用户D            5                    0
5           用户E            5                    0
6           用户F            5                    0
7           用户G            2                    0
8           用户H            5                    0
9           用户J            2                    0
10          用户K            5                    0
11          用户K            5                    0
12          用户K            7                    0
13          用户K            12                    0


更新VIP等于1


比如 id=5的这个人  下家的数量满足3个  然后更新vip=1

用一句sql能update更新?  这个应该属于递归...



就是说每个人都有上家...如果这个人下家满足3个人..然后更新VIP=1


update结果集

table_user

id            user            shangjiaid         vip
5           用户E            5                    1
2           用户B            3                    1</code>
로그인 후 복사
로그인 후 복사

답글 내용:

<code>table_user

id            user            shangjiaid         vip
1           用户A            2                    0
2           用户B            3                    0
3           用户C            2                    0
4           用户D            5                    0
5           用户E            5                    0
6           用户F            5                    0
7           用户G            2                    0
8           用户H            5                    0
9           用户J            2                    0
10          用户K            5                    0
11          用户K            5                    0
12          用户K            7                    0
13          用户K            12                    0


更新VIP等于1


比如 id=5的这个人  下家的数量满足3个  然后更新vip=1

用一句sql能update更新?  这个应该属于递归...



就是说每个人都有上家...如果这个人下家满足3个人..然后更新VIP=1


update结果集

table_user

id            user            shangjiaid         vip
5           用户E            5                    1
2           用户B            3                    1</code>
로그인 후 복사
로그인 후 복사

update table_user set vip = 1 where id in (select * from (SELECT a.shangjiaid FROM table_user as a GROUP BY a.shangjiaid having count(1) >= 3) as b)

더 나은 해결책이 있어야 할 것 같습니다. .

또 다른 제안은 Liz가 앞으로 질문을 할 때 테이블 생성 문과 데이터 채우기 문을 게시하는 것이 가장 좋다는 것입니다. 이렇게 하면 시간이 많이 절약됩니다. 아마도 더 많은 답변이 있을 것입니다.

update table set vip=1 where id=(select shangjiaid from (select from table group by shangjiaid have count()>2)t ) 이것은 아마도 아이디어일 것입니다. SQL이 잘못되었을 수 있습니다. , 당신은보세요

이렇게 복잡한 문장을 분리할 수는 있는데, 이렇게 한 번에 완성되는 복잡한 SQL 문장은 데이터 양이 많아지면 비즈니스가 특히 막힐 것 같아요.
먼저 어떤 ID에 3개 이상의 판매자 ID가 있는지 계산한 다음 VIP를 각각 1로 업데이트할 수 있습니다. 이것이 가능하지 않으면 대기열을 추가할 수도 있습니다. 이는 비즈니스에 더 좋습니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿