Здесь я прочитал много ответов, но до сих пор ничто не могло мне помочь. Я разрабатываю систему билетов, где у каждого билета много обновлений.SELECT DISTINCT возвращает больше строк, чем ожидалось
У меня около двух таблиц: tb_ticket
и tb_updates
.
Я создал SELECT с подзапросами, где потребовалось много времени (около 25 секунд), чтобы получить около 1000 строк. Теперь я изменил его на INNER JOIN
, а не на многие SELECT
s в подзапросах, это очень быстро (70 мс), но теперь я получаю дубликаты билетов. Я хотел бы знать, как я могу сделать, чтобы получить только последнюю строку (упорядочение по времени).
Мой текущий результат:
...
67355;69759;"COMPANY X";"2014-08-22 09:40:21";"OPEN";"John";1
67355;69771;"COMPANY X";"2014-08-26 10:40:21";"UPDATE";"John";1
Первый столбец является билет ID, то второй является обновление ID ... Я хотел бы получить только строку за билет ID, но В этом случае DISTINCT не работает. Какая строка должна быть? Всегда последний, поэтому в этом случае 2014-08-26 10:40:21.
ОБНОВЛЕНИЕ: Это база данных postgresql. Я не передал свой текущий запрос, потому что у него есть только португальские имена, поэтому я думаю, что это не помогло бы вообще.
РЕШЕНИЕ: Used_By_Already было лучшее решение моей проблемы.
Что такое СУБД? – Dimt
Было бы блестящим, если бы вы могли дать нам инструкцию SQL для работы с – Marco
. Ваши таблицы имеют префикс 'tb_'. Из интереса ваши хранимые процедуры префикс 'sp_'? –