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

So speichern Sie „false“ oder „true“ in MySQL

Boolescher MySQL-Wert, speichert „false“ oder „tr...

Grundlegende MySQL-Tabellenabfragen – häufige Fehler beim Left-Join

Überblick Bei kleinen und mittelgroßen Projekten ...

Detailliertes Tutorial zur Installation von Nginx auf CentOS8 (Bild und Text)

Nginx, ausgesprochen „Engine x“, ist ein Open Sou...

Implementierung der Docker-Bereitstellung von Webprojekten

Im vorherigen Artikel wurde der Docker-Dienst ins...

Detaillierte Erklärung der MySQL-Syntax, Sonderzeichen und regulären Ausdrücke

Häufig verwendete Anzeigebefehle für MySQL 1. Zei...

Installation, Aktivierung und Konfiguration von ModSecurity unter Apache

ModSecurity ist ein leistungsstarkes Paketfiltert...

Lassen Sie uns darüber sprechen, was das URL-Objekt von JavaScript ist

Inhaltsverzeichnis Überblick Hash-Eigenschaften G...

So verwenden Sie das Vue-Router-Routing

Inhaltsverzeichnis 1. Beschreibung 2. Installatio...

Anfänger lernen einige HTML-Tags (2)

Anfänger können HTML lernen, indem sie einige HTM...

Beispielanalyse der von MySQL 5.7 generierten Spaltennutzung

Dieser Artikel veranschaulicht anhand von Beispie...

Zusammenfassung der Wissenspunkte zum CSS-Frontend (unbedingt lesen)

1. Das Konzept von CSS: (Cascading Style Sheet) V...

js zur Implementierung einer Interferenz mit Verifizierungscodes (statisch)

In diesem Artikel wird der spezifische Code von j...