Я пытаюсь выбрать строки, основанные на максимальном значении определенного значения столбца в SQL Server 2008. Мне нужно выбрать имя книги и год на основе максимальной версии.Как выбрать строки на основе максимального значения для определенного столбца?
Текущие данные таблицы:
BookName Year Edition
Latest Science 2013 1
Latest Science 2014 2
Latest Science 2015 3
Easy Maths 2014 1
Easy Maths 2015 2
Magic vs Logic 2015 1
Вывод должен быть:
BookName Year Edition
Latest Science 2015 3
Easy Maths 2015 2
Magic vs Logics 2015 1
Я пытался, но это приведет лишь один строки всей таблицы
SELECT Book, year, edition
FROM Book_info
where edition=(select max(edition) from book_info)
Спасибо @ chdev77, группа по действительно помогла мне. –
Но я столкнулся с одной ошибкой, если я использую год ее показания BookName. год является недопустимым в списке выбора, потому что он не содержится ни в агрегатной функции, ни в предложении GROUP BY. Здесь я нашел ответ на мой вопрос, но я хочу знать, как отобразить соответствующий год, ВЫБРАТЬ BookName, MAX (Edition) AS Edition, ОТ Book_info AS Book_info_1 GROUP BY BookName порядке издания –
Спасибо @ chdev77, его работы как шарм, я хочу еще одного, что я не хочу показывать максимум года, но мне нужно показать соответствующий год максимальной версии. –