Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос для выбора строк у которых разница между значениями по определенному полю / 5 сообщений из 5, страница 1 из 1
02.02.2022, 01:33
    #40131134
Евгений1986
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос для выбора строк у которых разница между значениями по определенному полю
Здравствуйте!

Подскажите пожалуйста как составить SQL запрос так чтобы можно было поставить условие не между полями одной строки, а по одному полю между строками одной таблицы.

Пример таблица peoples :
number date fio city1 01.05.2019 Птицын Егор Владимирович Moscow2 23.07.2019 Волжанов Петр Александрович Moscow3 11.05.2019 Птицын Егор Владимирович Moscow4 08.05.2019 Немое Олег Владимировч Tambov5 05.03.2019 Брынза Николай Олегович Tambov6 06.08.2019 Волжанов Петр Александрович Moscow7 05.06.2019 Брынза Николай Олегович Ufa

Мне нужно получить сроки в которых разница между датами меньше 15 дней и одинаковые.
Вот на чем остановились мои изыскания:

Код: sql
1.
SELECT * FROM peoples a, peoples b WHERE (datediff(a.date, b.date) < 15) AND (a.fio = b.fio);


Но это не работает - выдает разные фио и разница между датами больше 15 дней.

Заранее спасибо!
...
Рейтинг: 0 / 0
02.02.2022, 04:08
    #40131138
Евгений1986
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос для выбора строк у которых разница между значениями по определенному полю
Уточню вопрос:
Мне нужно получить сроки в которых разница между датами меньше 15 дней и одинаковые данные в поле fio.
...
Рейтинг: 0 / 0
02.02.2022, 05:59
    #40131141
PizzaPizza
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос для выбора строк у которых разница между значениями по определенному полю
Евгений1986,

INNER JOIN and , (comma) are semantically equivalent in the absence of a join condition: both produce a Cartesian product between the specified tables (that is, each and every row in the first table is joined to each and every row in the second table).

выбирайте всех
потом соединяйте со всеми DATE_ADD(+15 дней) которых = date
...
Рейтинг: 0 / 0
02.02.2022, 07:38
    #40131145
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос для выбора строк у которых разница между значениями по определенному полю
Код: sql
1.
2.
3.
4.
5.
SELECT *
FROM peoples t1
JOIN peoples t2 USING (fio)
WHERE t1.`date` BETWEEN t2.`date` AND t2.`date` + INTERVAL 15 DAY
  AND t1.`number` <> t2.`number`


https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=cc8e6e0e6b03824e55001e17dbafcc83
...
Рейтинг: 0 / 0
02.02.2022, 16:23
    #40131277
Евгений1986
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос для выбора строк у которых разница между значениями по определенному полю
Akina, спасибо огромное!
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос для выбора строк у которых разница между значениями по определенному полю / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]