Heim  >  Artikel  >  Backend-Entwicklung  >  Fordern Sie eine UPDATE-Anweisung an

Fordern Sie eine UPDATE-Anweisung an

WBOY
WBOYOriginal
2016-08-04 09:22:111468Durchsuche

<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>

Antwortinhalt:

<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)

Es fühlt sich an, als ob es eine bessere Lösung geben sollte. .

Ein weiterer Vorschlag ist, dass es am besten ist, wenn Liz in Zukunft Fragen stellt, die Anweisungen zur Tabellenerstellung und zum Ausfüllen von Daten zu veröffentlichen. Dies spart viel Zeit. Vielleicht gibt es noch mehr Antworten.

Update table set vip=1 where id=(select shangjiaid from (select from table group by shangjiaid with count()>2)t ) Dies ist wahrscheinlich die Idee, die SQL ist möglicherweise falsch , Sieh mal rein

Diese komplexe SQL-Anweisung kann meiner Meinung nach nicht in einem Schritt ausgeführt werden, wenn die Datenmenge groß ist.
Sie können zunächst zählen, welche IDs mehr als 3 Händler-IDs haben, und dann den VIP auf jeweils 1 aktualisieren. Wenn dies nicht möglich ist, können Sie auch eine Warteschlange hinzufügen, was für das Unternehmen besser sein sollte.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn