在MySQL的不同行上选择满足不同条件的值?

您可以使用IN()和GROUP BY在不同的行上选择满足不同条件的值。语法如下-

SELECT yourColumnName1 from yourTableName

WHERE yourColumnName2 IN(value1,value2,.....N)

GROUP BY yourColumnName1

HAVING COUNT(DISTINCT yourColumnName2)=conditionValue;

为了理解上述语法,让我们首先创建一个表。创建表的查询如下-

mysql> create table DifferentRows

-> (

-> FirstRow int,

-> SecondRow int

-> );

使用insert命令在表中插入一些记录。查询如下-

mysql> insert into DifferentRows values(10,10);

mysql> insert into DifferentRows values(10,100);

mysql> insert into DifferentRows values(10,300);

mysql> insert into DifferentRows values(20,100);

使用select语句显示表中的所有记录。查询如下-

mysql> select *from DifferentRows;

以下是输出。

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

| FirstRow | SecondRow |

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

| 10       | 10        |

| 10       | 100       |

| 10       | 300       |

| 20       | 100       |

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

4 rows in set (0.00 sec)

这是用于选择在不同行上满足不同条件的值的查询。这给出了具有SecondRow 10、100、300的所有不同的FirstRow记录

mysql> select FirstRow from DifferentRows

-> where SecondRow IN(10,100,300)

-> group by FirstRow

-> having count(distinct SecondRow)=3;

以下是输出。

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

| FirstRow |

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

| 10       |

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

1 row in set (0.00 sec)

以上是 在MySQL的不同行上选择满足不同条件的值? 的全部内容, 来源链接: utcz.com/z/358884.html

回到顶部