@thesirvlad

Как взять все из таблицы, но с уникальным условием?

Имею такой запрос
$query = mysqli_query($db, "SELECT DISTINCT `title` FROM `tasks` WHERE `type` = '1");
Из этого запроса я получаю только уникальные названия, мне нужно получать также их id. Как сделать это в рамках одного запроса?
Если я делаю следующий запрос, т.к id все уникальные, то берутся все значения
$query = mysqli_query($db, "SELECT DISTINCT `title`, `id` FROM `tasks` WHERE `type` = '1");
  • Вопрос задан
  • 81 просмотр
Решения вопроса 2
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
Для того, чтобы взять всё из таблицы, но с уникальным условием, надо сначала подумать.
Над тем, от какого конкретно title мы хотим получить id
Если исходить из того, что может быть несколько записей с одним и тем же title, у них будут разные id.
И по этой причине надо задаться вопросом - какой именно id из этих нескольких мы хотим получить. И зачем.

И после этого либо изменить вопрос, либо структуру базы данных.
Ответ написан
Комментировать
HaJIuBauKa
@HaJIuBauKa
Тут можно получить только MIN(Id) либо MAX(Id). "Одним" запросом, то, что вы хотите получить не выйдет. Все равно будет подзапрос на список всех Id с данным Title.

Проще наверное так:
select Id, Title from tasks where type=1
order by Title

а потом уже группировать в коде либо в SQL
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы