Ну, вы можете использовать функцию DISTINCT, вы можете использовать функцию GROUP BY, или вы даже можете поместить все свои результаты поиска в массив в PHP после извлечения его из MySQL, а затем с помощью функции array_unique () отфильтровать из дубликатов.
Но все это не так эффективно, как проверка того, что база данных не содержит дубликатов. Я хочу сказать, что, поскольку вы предоставляете предложение, вы хотите, чтобы элемент SELECT выполнял максимально быстро . Любой тип хитрости, такой как те, что я перечислил выше, потребует комбинации большего количества времени, большего объема памяти и большего количества ЦП. Поэтому вы должны убедиться, что база данных находится в хорошем состоянии, чтобы операторы SELECT могли быть как можно более плавными. Хороший способ сделать это - сделать поле title в вашей таблице Streams уникальным индексом. Однако то, что я лично имею, - это индекс FULLTEXT в моем «поле для предложений». Индекс UNIQUE гарантирует, что в базе данных точно не будет дубликатов, но все, что с этим связано, позволит вам получить небрежный PHP-код для вставки. Если вы используете правильный поиск FULLTEXT, вы можете выполнять поиск FULLTEXT (MATCH () AGAINST ()). Так как эти поиски используют индекс, они выполняются НАМНОГО быстрее. Ваш оператор запроса будет без индекса на самом деле использовать индекс.
Кроме того, вы, вероятно, также захотите немного обновить свой код PHP (/ echo), потому что, хотя ваш код действительно небольшой, он не написан оптимально (что опять же, то, что вы ХОТИТЕ убедиться, в случае поисковых предложений).