MYSQL Eine Frage zur Verwendung von Zeichenfunktionen zum Filtern von Daten

MYSQL Eine Frage zur Verwendung von Zeichenfunktionen zum Filtern von Daten

Problembeschreibung:

Struktur:

test hat zwei Felder,
Dies sind Spalte1 und Spalte2, beides sind Zeichenfelder.
Der Inhalt besteht aus drei durch getrennten Zahlen, die sich eins zu eins entsprechen.

Beispielsweise lautet der Inhalt von Spalte 1: 26,59,6
Der Inhalt von col2 lautet: 1502.5,1690,2276.77
Die Eins-zu-eins-Entsprechung ist, dass der Wert von 26 1502,5 ist, 59 ist 1690 und 6 entspricht 2276,77


Suchkriterien:

Wählen Sie eine ID, z. B. 59, und geben Sie dann eine Nummer ein, z. B.: 2000
Dann suchen wir nach Datensätzen mit ID=59 in Spalte1 und dann nach Datensätzen mit Spalte2 kleiner als 2000, also 1690<2000

Beispiel:

Wenn die folgenden drei Datensätze vorhanden sind, suchen Sie nach Datensätzen mit der ID 59 und einem Wert kleiner als 2000:

26,59,6 | 1502,5,1690,2276,77
59,33,6 | 3502,1,1020,2276,77
22,8,59 | 1332,6,2900,1520,77

Es wird nach den drei Datensätzen mit der ID 59 gesucht und anschließend die zweite Suchbedingung ermittelt (d. h. die Zahlen an den entsprechenden ID-Positionen werden verglichen):

1690<2000
3502.1>2000
1520,77<2000

Drop-Table-Test; 
Tabellentest erstellen (col1 varchar(100), col2 varchar(100)); 
Einfügen Test Auswahl 
'26,59,6', '1502.5,1690,2276.77' Vereinigung aller Auswahlen 
'59,33,6', '3502.1,1020,2276.77' Union alle auswählen 
'22,8,59', '1332.6,2900,1520.77'; 
Wählen Sie Spalte1, Spalte2 
von (select *,find_in_set('59',col1) als rn vom Test) k 
wobei Teilstring_index(concat(',',Teilstring_index(col2,',',rn)),',',-1) 
 <'2000'; 

+---------+---------------------+

| Spalte1 | Spalte2 |

+---------+---------------------+

| 26,59,6 | 1502,5,1690,2276,77 |

| 22,8,59 | 1332,6,2900,1520,77 |

+---------+---------------------+

<<:  js verwendet Cookies, um die Seitenvorgänge des Benutzers zu speichern

>>:  So binden Sie einen Docker-Container an eine externe IP und einen externen Port

Artikel empfehlen

Beschreiben Sie kurz die Replikation der MySQL-Überwachungsgruppe

Originaltext: https://dev.mysql.com/doc/refman/8....

Umfassende Zusammenfassung der MySQL-Funktionen

Inhaltsverzeichnis 1. Häufig verwendete Zeichenfo...

Detaillierte grafische Erklärung der MySQL-Abfragesteuerungsanweisungen

MySQL-Abfrage-Steueranweisungen Felddeduplizierun...

JavaScript ist unzuverlässig undefiniert

undefined Wenn wir in JavaScript feststellen möch...

Dieser Artikel zeigt Ihnen, wie Sie mit CSS-Rahmen spielen

Rahmenstil Die Eigenschaft „Border-Style“ gibt an...

Mit CSS3 implementierter Gradienten-Folieneffekt

Ergebnisse erzielen Code html <div Klasse=&quo...

Über die Fallstricke bei der Implementierung der angegebenen Kodierung in MySQL

Vorne geschrieben Umgebung: MySQL 5.7+, MySQL-Dat...