Heim  >  Fragen und Antworten  >  Hauptteil

Wie erhalte ich für denselben Wert von Spalte 3 in MySQL alle Zeilen, wenn Spalte 1 einer Zeile einem Wert entspricht und Spalte 2 derselben Zeile oder einer anderen Zeile einem anderen Wert entspricht?

R C1 C2 C3 C4
R1 1 eins B 1
R2 1 B C 2
R3 1 C D 3
R4 2 eins D 1
R5 3 eins D 1
R6 3 D X 2

Ich habe eine Tabelle in mySQLmy_table,其中包含上述行列详细信息。我需要获取 c1 的所有值,其中起始 c2 值 = A 和结束 c3 值= D.

Zeilen in der Tabelle von R 排序,因此 c1=1start c2 值是 Ac1=1end c3 值为 D

Ich habe eine Ausgabe erwartet

C1
1
2

Es gibt 3 Zeilen für c1=1:

R C1 C2 C3 C4
R1 1 eins B 1
R2 1 B C 2
R3 1 C D 3

Das erste könnt ihr hier sehen C2A,最后一个 C3D

Dies erfüllt die Bedingung, daher sollte der 1C1-Wert in der Ausgabe enthalten sein.

Es gibt 1 Zeile für c1=2:

R C1 C2 C3 C4
R4 2 eins D 1

es ist C2AC3D, daher sollte dies auch in der Ausgabe enthalten sein.

Es gibt 2 Zeilen für c1=3:

R C1 C2 C3 C4
R5 3 eins D 1
R6 3 D X 2

Zuerst C2A,最后一个 C3X

Dies erfüllt die Bedingung nicht, daher sollte der 3C1-Wert nicht in der Ausgabe enthalten sein. < /p>

Ich benötige nur den C1-Wert, der die Bedingung erfüllt.

P粉588660399P粉588660399410 Tage vor464

Antworte allen(1)Ich werde antworten

  • P粉690200856

    P粉6902008562023-09-07 00:31:31

    假设输入选择是有序的,并且我们认为 C1 值的分组集具有相同的顺序,从第一行 C2 开始,到 ing 结束最后一行 C3 值,那么我们可以为 C1 的每个值构造这个序列:

    C1 最小R C2 最大R C3
    1 R1 一个 R3 D
    2 R4 一个 R4 D
    3 R5 一个 R6 X

    Antwort
    0
  • StornierenAntwort