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

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

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

Как следует из названия, я хотел бы выбрать первую строку каждого набора строк, сгруппированных с помощью GROUP BY. В частности, если у меня есть таблица purchases, которая выглядит так: SELECT * FROM purchases; Мой вывод: id | customer | t...
задан 27 сент. '10 в 4:23
30
ответов

SQL выбирает только строки с максимальным значением в столбце

У меня есть эта таблица для документов (упрощенная версия здесь): +------+-------+--------------------------------------+ | id | rev | content | +------+-------+--------------------------------------+ | 1 | 1 ...
задан 12 окт. '11 в 22:42
18
ответов

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

Существует таблица 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 ...
задан 21 авг. '09 в 20:04
17
ответов

Как я могу SELECT строк с MAX (значение столбца), DISTINCT другим столбцом в SQL?

Моя таблица: id home datetime player resource ---|-----|------------|--------|--------- 1 | 10 | 04/03/2009 | john | 399 2 | 11 | 04/03/2009 | juliet | 244 5 | 12 | 04/03/2009 | borat | 555 3 | 10 | 03/03/2009 | john | 300 4 ...
задан 04 марта '09 в 23:14
33
ответов

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

Таблица: UserId, Value, Date. Я хочу получить UserId, Value для max (Date) для каждого UserId. То есть значение для каждого пользователя, имеющего последнюю дату. Есть ли способ сделать это просто в SQL? (Желательно Oracle) Обновление: Извинени...
задан 23 сент. '08 в 17:34
13
ответов

Получить первую строку каждой группы

У меня есть таблица, в которой я хочу получить последнюю запись для каждой группы. Здесь таблица: DocumentStatusLogs Таблица |ID| DocumentID | Status | DateCreated | | 2| 1 | S1 | 7/29/2011 | | 3| 1 | S2 | 7/30/2011 |...
задан 27 июля '11 в 11:41
14
ответов

Используя LIMIT внутри GROUP BY, чтобы получить N результатов для каждой группы?

Следующий запрос: SELECT year, id, rate FROM h WHERE year BETWEEN 2000 AND 2009 AND id IN (SELECT rid FROM table2) GROUP BY id, year ORDER BY id, rate DESC дает: year id rate 2006 p01 8 2003 p01 7.4 2008 p01 6.8 2001 p01 5.9 2007 ...
задан 25 янв. '10 в 4:25
20
ответов

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 Тогда я мог бы, например, добавить условие,...
задан 13 дек. '09 в 2:58
6
ответов

Соединение SQL: выбор последних записей в отношениях "один ко многим"

Предположим, у меня есть таблица клиентов и таблица покупок. Каждая покупка принадлежит одному клиенту. Я хочу получить список всех клиентов вместе со своей последней покупкой в ​​одном заявлении SELECT. Какова наилучшая практика? Любые советы по соз...
задан 21 янв. '10 в 20:29
9
ответов

Как сделать первое место в Oracle?

Как мне сделать следующее? select top 1 Fname from MyTbl В Oracle 11g?
задан 10 авг. '10 в 20:10
15
ответов

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

Как вы получаете строки, содержащие максимальное значение для каждого сгруппированного набора? Я видел некоторые слишком сложные варианты этого вопроса, и никто из них не ответил на хороший ответ. Я попытался собрать самый простой пример: Учитывая ...
задан 24 авг. '12 в 4:36
13
ответов

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

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

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

Ниже приведен самый простой пример, хотя любое решение должно иметь возможность масштабирования, однако необходимо, чтобы было достигнуто много n лучших результатов: Учитывая таблицу, подобную приведенной ниже, с колонками "человек", "группа" и "воз...
задан 24 авг. '12 в 20:00
6
ответов

GROUP BY с MAX (DATE)

Я пытаюсь перечислить последний пункт назначения (время отправления MAX) для каждого поезда в таблице, например: Train Dest Time 1 HK 10:00 1 SH 12:00 1 SZ 14:00 2 HK 13:00 2 SH ...
задан 16 авг. '10 в 10:30
8
ответов

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

У меня есть таблица ( "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 1370933...
задан 11 июня '13 в 9:57