在MySQL的不同行上选择满足不同条件的值?
您可以使用IN()
和GROUP BY在不同的行上选择满足不同条件的值。语法如下-
SELECT yourColumnName1 from yourTableNameWHERE 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