Эти продукты делают одну вещь, управляют очередями, но они делают это хорошо.

лизую небольшую очередь, чтобы определить, какой процесс запускается первым. Я использую таблицу в базе данных, чтобы сделать это. Вот структура таблицы (я ее макетирую в SQLite):

        "id" INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL ,
        "identifier" VARCHAR NOT NULL ,
        "priority_number" INTEGER DEFAULT 15,
        "timestamp" DATETIME DEFAULT CURRENT_TIMESTAMP,
        "description" VARCHAR

Я пытаюсь написать SQL, чтобы указать, какой процесс может быть запущен следующим. Вот некоторые примеры данных:

id  identifier  priority_number timestamp   description
1   test1   15  2009-01-20 17:14:49 NULL
2   test2   15  2009-01-20 17:14:56 NULL
3   test3   10  2009-01-20 17:15:03 NULL
4   test4   15  2009-01-20 17:15:08 NULL
5   test5   15  2009-01-20 17:32:23 NULL
6   test6   14  2009-01-20 17:32:30 NULL
7   test7   7   2009-01-20 17:32:38 NULL
8   test8   20  2009-01-20 17:32:57 NULL
9   test9   7   2009-01-21 13:47:30 NULL
10  test10  15  2009-01-21 13:50:52 NULL

Если я использую этот SQL, я могу получить данные в правильном порядке:

select * from queue_manager order by priority_number, timestamp;

Это даст мне элемент с самым низким номером приоритета (самый важный) в верхней части, а в этих приоритетных номерах - самый ранний в очереди (по метке времени) вверху.

Я мог бы выполнить этот запрос и взять только первую строку, но я бы предпочел сделать это с помощью SQL-запроса, который дал бы мне одну строку процесса, которая находится в верхней части очереди (в приведенных выше примерах, строка с id = 7).

Я пытался делать самостоятельные объединения и подзапросы, но у меня, должно быть, был ментальный блок - я просто не могу понять это правильно

Заранее спасибо!

РЕДАКТИРОВАТЬ

Я забыл упомянуть, что я ищу независимый от базы данных запрос. Я делаю это в SQlite, но есть хорошая возможность реализовать это в DB2 или Oracle. Я думал использовать оператор типа «предел 1» в моем запросе, но это отличается в разных движках базы данных.

Ответы на вопрос(7)

Ваш ответ на вопрос