Вопросы с тегом «greatest-n-per-group»

Запросите строку с наибольшим / наименьшим значением для каждой группы.

1326
Выберите первую строку в каждой группе GROUP BY?

Как следует из названия, я бы хотел выбрать первую строку каждого набора строк, сгруппированных с GROUP BY. В частности, если у меня есть purchasesтаблица, которая выглядит следующим образом: SELECT * FROM purchases; Мой вывод: id | клиент | Всего --- + ---------- + ------ 1 | Джо | 5 2 | Салли | 3...

959
Получение последней записи в каждой группе - MySQL

Существует таблица, messagesкоторая содержит данные, как показано ниже: Id Name Other_Columns ------------------------- 1 A A_data_1 2 A A_data_2 3 A A_data_3 4 B B_data_1 5 B B_data_2 6 C C_data_1 Если я выполню запрос select * from messages group by name, я получу результат как: 1 A A_data_1 4 B...

576
Извлечь строку, которая имеет значение Max для столбца

Таблица: UserId, Value, Date. Я хочу получить UserId, значение для max (Date) для каждого UserId. То есть значение для каждого идентификатора пользователя, который имеет самую последнюю дату. Есть ли способ сделать это просто в SQL? (Желательно Oracle) Обновление: извинения за любую...

530
Получить 1 верхний ряд каждой группы

У меня есть таблица, в которой я хочу получить последнюю запись для каждой группы. Вот таблица: DocumentStatusLogs Таблица |ID| DocumentID | Status | DateCreated | | 2| 1 | S1 | 7/29/2011 | | 3| 1 | S2 | 7/30/2011 | | 6| 1 | S1 | 8/02/2011 | | 1| 2 | S1 | 7/28/2011 | | 4| 2 | S2 | 7/30/2011 | | 5|...

298
SQL-соединение: выбор последних записей в отношении «один ко многим»

Предположим, у меня есть таблица клиентов и таблица покупок. Каждая покупка принадлежит одному клиенту. Я хочу получить список всех клиентов вместе с их последней покупкой в ​​одном операторе SELECT. Какова лучшая практика? Любой совет по созданию индексов? Пожалуйста, используйте эти имена таблиц...

281
ROW_NUMBER () в MySQL

Есть ли хороший способ в MySQL для репликации функции SQL Server ROW_NUMBER()? Например: SELECT col1, col2, ROW_NUMBER() OVER (PARTITION BY col1, col2 ORDER BY col3 DESC) AS intRow FROM Table1 Тогда я мог бы, например, добавить условие, ограничивающее intRow1, чтобы получить одну строку с самым...

229
Получить записи с максимальным значением для каждой группы сгруппированных результатов SQL

Как вы получаете строки, которые содержат максимальное значение для каждого сгруппированного набора? Я видел некоторые слишком сложные варианты этого вопроса, но ни один из них не дал хорошего ответа. Я попытался собрать самый простой пример: Учитывая приведенную ниже таблицу с столбцами персонажа,...

228
как запросить sql для последней даты записи для каждого пользователя

У меня есть таблица, которая представляет собой набор записей о том, когда пользователь вошел в систему. username, date, value -------------------------- brad, 1/2/2010, 1.1 fred, 1/3/2010, 1.0 bob, 8/4/2009, 1.5 brad, 2/2/2010, 1.2 fred, 12/2/2009, 1.3 etc.. Как мне создать запрос, который даст...

208
Выберите 10 лучших записей для каждой категории

Я хочу вернуть 10 лучших записей из каждого раздела в одном запросе. Может кто-нибудь помочь с тем, как это сделать? Раздел является одним из столбцов в таблице. База данных - SQL Server 2005. Я хочу вернуть первые 10 по введенной дате. Разделы бизнес, локальные и тематические. Для одной конкретной...

164
Панды получают лучшие n записей в каждой группе

Предположим, у меня есть DataFrame панд, как это: >>> df = pd.DataFrame({'id':[1,1,1,2,2,2,2,3,4],'value':[1,2,3,1,2,3,4,1,1]}) >>> df id value 0 1 1 1 1 2 2 1 3 3 2 1 4 2 2 5 2 3 6 2 4 7 3 1 8 4 1 Я хочу получить новый DataFrame с двумя верхними записями для каждого...

147
Получить первые n записей для каждой группы сгруппированных результатов

Ниже приведен простейший пример, хотя любое решение должно иметь возможность масштабирования до любого количества n лучших результатов: Учитывая таблицу, подобную приведенной ниже, со столбцами «человек», «группа» и «возраст», как бы вы могли получить 2 самых старых человека в каждой группе?...

125
Выберите строку с самой последней датой для каждого пользователя

У меня есть таблица ("lms_attendance") времени регистрации и ухода пользователей, которая выглядит так: id user time io (enum) 1 9 1370931202 out 2 9 1370931664 out 3 6 1370932128 out 4 12 1370932128 out 5 12 1370933037 in Я пытаюсь создать представление этой таблицы, которое выводило бы только...

88
Получите записи с наибольшим / наименьшим <что угодно> на группу

Как это сделать? Прежнее название этого вопроса было « использование ранга (@Rank: = @Rank + 1) в сложном запросе с подзапросами - это сработает? », Потому что я искал решение с использованием рангов, но теперь я вижу, что решение, опубликованное Биллом, является намного лучше. Исходный вопрос: Я...

88
Как выбрать идентификатор с максимальной датой группы по категории в PostgreSQL?

Например, я хотел бы выбрать идентификатор с максимальной датой для группы по категориям, результат: 7, 2, 6 id category date 1 a 2013-01-01 2 b 2013-01-03 3 c 2013-01-02 4 a 2013-01-02 5 b 2013-01-02 6 c 2013-01-03 7 a 2013-01-03 8 b 2013-01-01 9 c 2013-01-01 Могу я узнать, как это сделать в...

86
Как выбрать строки с самой последней меткой времени для каждого значения ключа?

У меня есть таблица данных датчиков. В каждой строке есть идентификатор датчика, отметка времени и другие поля. Я хочу выбрать одну строку с последней меткой времени для каждого датчика, включая некоторые другие поля. Я думал, что решением будет сгруппировать по идентификатору датчика, а затем...