SQLHUB Telegram 2078
💡Неочевидный SQL-совет

Часто нужно выбрать топ-N строк внутри каждой группы — например, два самых дорогих товара в категории.
Вместо сложных оконных функций можно использовать QUALIFY (в Snowflake, BigQuery, DuckDB, Trino):


SELECT category_id, product_id, price
FROM products
QUALIFY ROW_NUMBER() OVER (PARTITION BY category_id ORDER BY price DESC) <= 2;

👉 Результат: по каждой категории вернутся только два товара с наибольшей ценой.

Этот приём делает запрос короче и понятнее, убирая необходимость во вложенных подзапросах. Если вы используете СУБД с поддержкой QUALIFY, берите на вооружение.
👍14🤔21



tgoop.com/sqlhub/2078
Create:
Last Update:

💡Неочевидный SQL-совет

Часто нужно выбрать топ-N строк внутри каждой группы — например, два самых дорогих товара в категории.
Вместо сложных оконных функций можно использовать QUALIFY (в Snowflake, BigQuery, DuckDB, Trino):


SELECT category_id, product_id, price
FROM products
QUALIFY ROW_NUMBER() OVER (PARTITION BY category_id ORDER BY price DESC) <= 2;

👉 Результат: по каждой категории вернутся только два товара с наибольшей ценой.

Этот приём делает запрос короче и понятнее, убирая необходимость во вложенных подзапросах. Если вы используете СУБД с поддержкой QUALIFY, берите на вооружение.

BY Data Science. SQL hub


Share with your friend now:
tgoop.com/sqlhub/2078

View MORE
Open in Telegram


Telegram News

Date: |

How to create a business channel on Telegram? (Tutorial) “[The defendant] could not shift his criminal liability,” Hui said. Telegram Channels requirements & features A Telegram channel is used for various purposes, from sharing helpful content to implementing a business strategy. In addition, you can use your channel to build and improve your company image, boost your sales, make profits, enhance customer loyalty, and more. How to Create a Private or Public Channel on Telegram?
from us


Telegram Data Science. SQL hub
FROM American