Задать вопрос
FitTech
@FitTech

Как получить только первое значение в таблице?

Есть запрос:
SELECT to_char(date, 'YYYY-MM-dd HH24:MI:ss') as day,
  title, email, price, pages
FROM customer


Получаю ответ:
1. 2016-10-26 09:51:57 Title 1 my@email.com 5 10
2. 2016-10-26 09:51:40 Title 1 my@email.com 5 10
3. 2016-10-26 09:51:20 Title 1 my@email.com 5 10
4. 2016-10-26 09:51:10 Title 1 my@email.com 5 10
5. 2016-10-26 19:51:10 Title 2 my2@email.com 5 10
6. 2016-10-26 19:00:10 Title 2 my2@email.com 5 10

Всё одинаково, кроме секунд в дате. Подскажите, пожалуйста, как мне получить только одно значение, первое попадание в базу. В моем случае это пункт 4 и 6
  • Вопрос задан
  • 483 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега PostgreSQL
Седой и строгий
SELECT DISTINCT ON (day),
  to_char(date, 'YYYY-MM-dd HH24:MI:ss') as day, title, email, price, pages
FROM customer
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
С учётом изменения вопроса:
SELECT to_char(c.date, 'YYYY-MM-dd HH24:MI:ss') as day,
       c.title, c.email, c.price, c.pages
  FROM (
    SELECT MIN(date) AS date, email FROM customer GROUP BY email
  ) AS t
  JOIN customer AS c ON c.date = t.date AND c.email = d.email
Ответ написан
Sanan07
@Sanan07
Писатель-прозаик
MIN(date) вместе с group by
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы