Как вернуть строки с одинаковыми значениями столбцов в MySQL?
Используйте для этого предложение GROUP BY. Сначала создадим таблицу:
mysql> create table DemoTable
-> (
-> StudentId int,
-> StudentMarks int
-> );
Query OK, 0 rows affected (4.71 sec)
Вставьте несколько записей в таблицу с помощью команды вставки:
mysql> insert into DemoTable values(23,58);
Query OK, 1 row affected (0.70 sec)
mysql> insert into DemoTable values(25,89);
Query OK, 1 row affected (0.46 sec)
mysql> insert into DemoTable values(26,58);
Query OK, 1 row affected (1.13 sec)
mysql> insert into DemoTable values(28,98);
Query OK, 1 row affected (0.86 sec)
Отобразите все записи из таблицы с помощью оператора select:
mysql> select *from DemoTable;
Выход
+-----------+--------------+
| StudentId | StudentMarks |
+-----------+--------------+
| 23 | 58 |
| 25 | 89 |
| 26 | 58 |
| 28 | 98 |
+-----------+--------------+
4 rows in set (0.00 sec)
Вот запрос для возврата строк с одинаковыми значениями столбцов в MySQL:
mysql> select StudentMarks from DemoTable
-> group by StudentMarks
-> having sum(StudentId=23) > 0 and
-> sum(StudentId=26) > 0;
Выход
+--------------+
| StudentMarks |
+--------------+
| 58 |
+--------------+
1 row in set (0.00 sec)