首页  >  问答  >  正文

对于mySQL中相同的col3值,如果一行的col1等于一个值并且同一行或不同行的col2等于另一个值,如何获取所有行?

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

我在 mySQL 中有一个表my_table,其中包含上述行列详细信息。我需要获取 c1 的所有值,其中起始 c2 值 = A 和结束 c3 值= D.

表中的行按 R 排序,因此 c1=1start c2 值是 Ac1=1end c3 值为 D

我期望输出

C1
1
2

对于 c1=1 有 3 行:

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

您可以在此处看到第一个 C2A,最后一个 C3D

这满足条件,因此 1C1 值应包含在输出中。

对于 c1=2 有 1 行:

R C1 C2 C3 C4
R4 2 一个 D 1

它的 C2AC3D,因此这也应该包含在输出中.

对于 c1=3 有 2 行:

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

第一个 C2A,最后一个 C3X

这不满足条件,因此 3C1 值应包含在输出中。< /p>

我只需要满足条件的C1值。

P粉588660399P粉588660399410 天前471

全部回复(1)我来回复

  • 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

    回复
    0
  • 取消回复