Как выводить 1 строку из повторяющихся строк в БД?
Есть таблица с такой структурой:
ID NAME LOGIN PASSWORD POSITION TEACHER CLASS
И есть такой запрос на вывод класса учеников:
$classes = mysqli_query($link, "SELECT `CLASS` FROM `accounts` WHERE `POSITION` = 'Ученик' AND `TEACHER` LIKE '%$login%'");
вывожу всё так:
то есть вывод тех классов, в строках которых имеется $login (Логин учителя), но есть такая проблема, при выводе таких строк, выводятся и повторяющиеся. Как выводить заместо повторяющихся только 1 строку, при этом чтобы сохранялось условие запроса?
Если я правильно понял, то нужно вывести список уникальных значений поля класс (без повторений).
Это можно сделать добавив в запрос модификатор "DISTINCT".
Запрос будет в виде "SELECT DISTINCT `CLASS` FROM ...."
Если имеются повторения, то наверняка вы выбираете запросом не одно поле, а несколько. Distinct в принципе не выдает дубликаты при выборке одного поля.
Как вариант - у Вас в базе могут быть сохранены внешне похожие значения, но для СУБД - разные. Например с пробелом в конце или каким-нибудь непечатаемым символом (tab ...)