РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
446 of 711 menu

Функция desc

Функция desc создает выражение для сортировки результатов SQL-запроса по убыванию. Первым параметром функция принимает столбец или выражение, по которому будет происходить сортировка. Функция часто используется в методе order_by для упорядочивания строк от большего значения к меньшему.

Синтаксис

desc(column)

Пример

Давайте создадим таблицу и отсортируем ее строки по убыванию идентификатора:

from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String, select, desc engine = create_engine('sqlite:///:memory:') metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('title', String), ) metadata.create_all(engine) with engine.begin() as conn: conn.execute(articles.insert(), [ {'id': 1, 'title': 'article 1'}, {'id': 2, 'title': 'article 2'}, {'id': 3, 'title': 'article 3'}, ]) stmt = select(articles.c.title).order_by(desc(articles.c.id)) with engine.connect() as conn: res = conn.execute(stmt).fetchall() print(res)

Результат выполнения кода:

[('article 3',), ('article 2',), ('article 1',)]

Пример

Давайте отсортируем строки по убыванию строкового поля:

from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String, select, desc engine = create_engine('sqlite:///:memory:') metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('title', String), ) metadata.create_all(engine) with engine.begin() as conn: conn.execute(articles.insert(), [ {'id': 1, 'title': 'article'}, {'id': 2, 'title': 'user'}, {'id': 3, 'title': 'sqlite'}, ]) stmt = select(articles.c.title).order_by(desc(articles.c.title)) with engine.connect() as conn: res = conn.execute(stmt).fetchall() print(res)

Результат выполнения кода:

[('user',), ('sqlite',), ('article',)]

Пример

Давайте посмотрим итоговый SQL-запрос, который генерирует функция desc:

from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String, select, desc engine = create_engine('sqlite:///:memory:') metadata = MetaData() articles = Table( 'articles', metadata, Column('id', Integer, primary_key=True), Column('title', String), ) stmt = select(articles.c.title).order_by(desc(articles.c.id)) print(stmt)

Итоговый SQL запрос:

SELECT articles.title FROM articles ORDER BY articles.id DESC

Смотрите также

  • функцию asc,
    которая сортирует результаты по возрастанию
  • функцию nulls_first,
    которая размещает NULL-значения в начале выборки
  • функцию nulls_last,
    которая размещает NULL-значения в конце выборки
  • функцию distinct,
    которая убирает дубликаты из результатов запроса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить