У меня есть таблица с именем t1 со следующими полями: ROWID, CID, PID, Score, SortKey
имеет следующие данные:
1, C1, P1, 10, 1
2, C1, P2, 20, 2
3, C1, P3, 30, 3
4, C2, P4, 20, 3
5, C2, P5, 30, 2
6, C3, P6, 10, 1
7, C3, P7, 20, 2
какой запрос я пишу, чтобы он применял group by к CID, но вместо того, чтобы возвращать мне 1 единственный результат на группу, он возвращает мне максимум 2 результата на группу. также, где условие - оценка> = 20, и я хочу, чтобы результаты упорядочивались по CID и SortKey.
Если бы мне пришлось выполнить свой запрос на вышеуказанных данных, я бы ожидал следующий результат:
РЕЗУЛЬТАТЫ ДЛЯ С1 - примечание: РОУИД 1 не считается его оценкой <20 </strong>
C1, P2, 20, 2
C1, P3, 30, 3
РЕЗУЛЬТАТЫ ДЛЯ C2 - примечание: ROWID 5 появляется перед ROWID 4, так как ROWID 5 имеет меньшее значение
SortKey
C2, P5, 30, 2
C2, P4, 20, 3
РЕЗУЛЬТАТЫ ДЛЯ C3 - примечание: ROWID 6 не отображается, так как его оценка меньше 20, поэтому здесь возвращается только 1 запись
C3, P7, 20, 2
КОРОТКО, Я ХОЧУ ОГРАНИЧИТЬСЯ В ГРУППЕ BY. Я хочу самое простое решение и хочу избежать временных таблиц. подзапросы в порядке. Также обратите внимание, что я использую SQLite для этого.