Чтобы отсортировать данные по двум критериям в SQL, вы можете использовать ключевое слово `ORDER BY` с указанием сначала поля, по которому требуется первичная сортировка, а затем поля для вторичной сортировки. В вашем случае, если вы хотите сначала сортировать данные по дате (`date_field`, предположим), а затем по номеру урока (`lesson_number`), запрос может выглядеть к примеру так:
```sql
SELECT * FROM table ORDER BY date_field ASC, lesson_number ASC;
```
Такое написание `ORDER BY` сначала отсортирует все строки по полю `date_field` по возрастанию (ASC означает "по возрастанию"), а затем в рамках каждой даты строки будут снова отсортированы, на этот раз по полю `lesson_number` также по возрастанию.
Если же `date_field` это действительно дата, и у вас нет отдельного столбца для времени, то это будет работать, как предполагается. Если, однако, `date_field` включает и время, возможно, вам потребуется отделить дату от времени, используя функции вашей СУБД, как `DATE()` в MySQL, чтобы выполнить сортировку именно по датам.
Для MySQL запрос будет выглядеть следующим образом:
```sql
SELECT * FROM table ORDER BY DATE(date_field) ASC, lesson_number ASC;
```
Если же `date_field` включает время и вы используете другую СУБД (например, PostgreSQL), то вам может понадобиться иное решение, чтобы извлечь дату из поля даты/времени.
Учтите, что при использовании `ORDER BY` сортировка по `ASC` является поведением по умолчанию, и вы можете опустить его, если хотите сортировать именно по возрастанию. Если вы хотите сортировать в обратном порядке, используйте ключевое слово `DESC` (по убыванию).