Оставить в таблице людей с последней датой - MySQL

Узнай цену своей работы

Формулировка задачи:

добрый день. Суть задачи : есть таблица, в ней 2 колонки Имя и Дата: Ольга Иванова 2015.01.01 Ольга Иванова 2014.02.01 Ольга Иванова 2013.05.01 Иван Иванов 2008.05.01 Иван Иванов 2004.05.01 Иван Иванов 2000.05.01 можно ли запросом сделать так чтобы в выборке у меня остались люди с последними датами т.е был резульnат: Ольга Иванова 2015.01.01 Иван Иванов 2008.05.01 Если есть предположения буду рад услышать, заранее спасибо!

Решение задачи: «Оставить в таблице людей с последней датой»

textual
Листинг программы
  1. SELECT T1.*
  2. FROM
  3. (
  4. SELECT *
  5. FROM tab1
  6. ) T1,
  7. (
  8. SELECT f_name, MAX(f_date) AS f_date
  9. FROM tab1
  10. GROUP BY f_name
  11. ) T2
  12. WHERE T1.f_name = T2.f_name
  13.   AND T1.f_date = T2.f_date

Объяснение кода листинга программы

В данном коде происходит выборка данных из таблицы tab1 с использованием подзапросов.

  1. В подзапросе SELECT * FROM tab1 выбираются все данные из таблицы tab1.
  2. В подзапросе SELECT f_name, MAX(f_date) AS f_date FROM tab1 GROUP BY f_name выбираются уникальные имена из таблицы tab1 и к ним присваивается максимальная дата для каждого имени.
  3. В основном запросе SELECT T1. FROM (SELECT FROM tab1) T1, (SELECT f_name, MAX(f_date) AS f_date FROM tab1 GROUP BY f_name) T2 WHERE T1.f_name = T2.f_name AND T1.f_date = T2.f_date происходит сравнение данных из первого подзапроса со вторым подзапросом и выбираются только те строки, где имена и даты совпадают. Таким образом, результатом выполнения данного кода будет выборка данных из таблицы tab1, где будут только те строки, у которых имя и дата соответствуют имени и дате из подзапроса с максимальными значениями.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы