Какой запрос SQL возвращает строку с самыми последними датой и временем (столбцы B и C) для каждого уникального столбца A? - PullRequest
2 голосов
/ 19 ноября 2010

Какой запрос SQL возвращает строку с самыми последними датой и временем (столбцы B и C) для каждого уникального столбца A?

Ответы [ 2 ]

2 голосов
/ 19 ноября 2010

Если C на самом деле является datetime столбцом с установленной датой и времени, вы можете сделать:и C - это столбец time, тогда вам нужно:

select a, max(convert(varchar(15), b) + ' ' + convert(varchar(15), c))
  from table
 group by a;
0 голосов
/ 20 ноября 2010

Когда я делаю:

select convert(varchar, getdate())

Я получаю «19 ноября 2010 г., 17:17», что не помогает при поиске max (). Я бы изложил стиль, даже если у вашей базы данных по умолчанию нет этой проблемы. Что-то вроде:

select x.a,
cast(max(convert(varchar, x.b, 112)+' '+
convert(varchar, x.c, 108) as Datetime)) 
as maxDateTime
from table x
group by x.a

Это производит "2010-11-19 17: 20: 29.000"

Я знаю, что вы используете тип даты и тип времени, но одна и та же идея.

...