powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как готовить запрос
6 сообщений из 6, страница 1 из 1
Как готовить запрос
    #39973638
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем здравствуйте!
собственно сабж... есть вот такая табличка https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=ef69281f7647c1bf9ba72199c1549363
где показана пункты прохождения объектов (таблица упрошенная и обобщенная) и задав пункт входа и выхода получить некую таблицу.
З.Ы. скажем при условии вх = а и вых = г
должны остаться строки у которых id (1, 2, 3, 4) и (8, 9, 10, 11)
а если в качестве параметра а и в, то ответ будет (5, 6, 7)

кстати версия мускула 8

заранее спасибо!
...
Рейтинг: 0 / 0
Как готовить запрос
    #39973639
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скажем вот результат когда вх=А и вых=Г
...
Рейтинг: 0 / 0
Как готовить запрос
    #39973669
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чётко опишите связность последовательности. Я бы предположил лексикографическую последовательность, но смущает отсутствие пунктов В и Г для объекта 3.
...
Рейтинг: 0 / 0
Как готовить запрос
    #39973672
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

между входом и выходом нет четкого порядка, т.е. там могут быть и другие пункты...
в таблице я пропустил время нахождения в каждом из пунктов.
скажем у гипермаркета есть несколько входов и выходов и конечно же есть множество магазинов, бутиков и т.д., объекты могут по разному себя вести но вход и выход будет почти одинаковыми т.е. уже определены.
З.Ы. мне надо найти всех объектов (где был и сколько) которые зашли из входа 1 и вышли из выхода 10

ну как то так.
...
Рейтинг: 0 / 0
Как готовить запрос
    #39974596
Музаффар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ни у кого нет идей?
...
Рейтинг: 0 / 0
Как готовить запрос
    #39974614
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну посмотри вот на это:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
WITH RECURSIVE
cte AS ( SELECT id id_from, id id_to, obj, punct AS path, in_out
         FROM table1
         WHERE in_out = 'вх' 
         UNION ALL
         SELECT cte.id_from, table1.id, cte.obj, CONCAT(cte.path, table1.punct), table1.in_out
         FROM table1
         JOIN cte ON table1.obj = cte.obj AND table1.id = cte.id_to + 1
         WHERE COALESCE(cte.in_out, '') != 'вых' )
SELECT id_from, id_to, obj, path
FROM cte
WHERE in_out = 'вых'
ORDER BY id_from, path;

Вдруг понравится...

А не понравится - используй для выборки строк из исходной таблицы по заданным критериям.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как готовить запрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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