Выбрать столбец на основе максимального значения в другом столбце - PullRequest
1 голос
/ 28 июня 2011

Предположим, есть таблица с именем test, с двумя столбцами - id и time. Столбец id не является уникальным .

Я хотел бы получить все идентификаторы, в которых нет строк с таким идентификатором со временем, превышающим X.

Как это можно сделать?

Ответы [ 5 ]

3 голосов
/ 28 июня 2011
SELECT id FROM test
GROUP BY id
HAVING MAX(time) <= 'X'
1 голос
/ 28 июня 2011
select distinct id
from table t
where t.id not in (select it.id
                   from table it
                   where it.time>@x)
1 голос
/ 28 июня 2011

Это должно работать для того, что вам нужно:

SELECT id 
FROM tableName 
WHERE time > '{X}' AND NOT ID = '{ID}'
GROUP BY id;
0 голосов
/ 28 июня 2011
SELECT id FROM (
    SELECT max(time) as max_time, id
    FROM test
    GROUP BY id
) tmp
WHERE max_time < 'X'
0 голосов
/ 28 июня 2011
SELECT t.id 
FROM table t
WHERE NOT EXISTS
  ( SELECT * 
    FROM table tt
    WHERE tt.time > X
      AND tt.id = t.id
  )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...