Heim  >  Artikel  >  Datenbank  >  MySQL verwendet numerische Hilfstabellen, um komplexe Spaltenänderungen und Zeilen zu implementieren

MySQL verwendet numerische Hilfstabellen, um komplexe Spaltenänderungen und Zeilen zu implementieren

黄舟
黄舟Original
2017-02-17 13:12:541422Durchsuche

Eines Tages schickte ein Internetnutzer in einem Kreis auf QQ eine Nachricht mit der Bitte um Hilfe:

PropID-Name Betrag
3 Yuanbao 2
2 Ledou 3

Können Sie die Ausgabe in SQL schreiben, d. h. die Anzahl der Einträge kopieren, die dem Betrag entsprechen:

PropID-Name
3  Yuanbao
3  Yuanbao
2  Ledou
2  Ledou
2 Le Dou

[Anmerkung]:

3 Yuanbao 2
Anmerkung dass die letzte Spalte 2 ist, das heißt, es gibt 2 solcher Datensätze. Es sollte
3 Yuanbao
3 Yuanbao
werden es direkt mit wiederholten Reihen, also Nach diesem Beispiel, 2 Le Dou 3, ist es notwendig, 3 Datensätze wie folgt zu wiederholen:

2 Le Dou
2 Le Dou
2 Le Dou

Nach einiger Recherche konnte ich es nicht herausfinden, indem ich die normale Gruppierung nach Summe bzw. von Fall zu Fall verwendete, also musste ich meine Meinung ändern Ich war eine Weile aufgehängt, also sprach ich mit dem Internetnutzer Mr.W., der die Idee zu digitalen Hilfstischen hatte.

OK, fertig, die SQL lautet wie folgt:

select t1.propid,t1.name from tb t1,(select 1 as num union select 2 as num union select 3 as num) t2 wobei t1.amount>= t2.num order by 1;

middle,(select 1 as num union select 2 as num Union select 3 as num ) t2 part

Am besten erstellen Sie eine weitere num-Einspalten-Hilfstabelle, erhöhen Sie von 1 auf N, geben Sie einfach Zehntausende an und dann die Verwandte Abfragen werden bequemer sein. Ausgehend von der SQL der Selbstverbindung scheint select nicht die Funktion zu haben, Zahlen in einer Schleife zu generieren. Wie in den folgenden Tabellennummern gezeigt

Wenn Sie hier einen Freund sehen, der eine bessere Implementierungsmethode hat, teilen Sie ihn bitte mit.

Das Obige ist der Inhalt von MySQL, der numerische Hilfstabellen verwendet, um komplexe Spaltenänderungen zu implementieren. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


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