Мой Kbyte.Ru
Рассылка Kbyte.Ru
Группы на Kbyte.Ru
Партнеры Kbyte.Ru
Реклама
Сделано руками
Сделано руками
> Исходные коды - Narayana Vyas Kondreddi -

Microsoft SQL Server - Числа, математика, финансы

Все примеры / Числа, математика, финансы

Как получить наибольшее числовое значение в указанной колонке?

Автор: Narayana Vyas Kondreddi | добавлено: 03.02.2011, 20:29 | просмотров: 2151 (1+) | комментариев: 0 | рейтинг: *x1
Хранимая процедура SQL Server, которая позволяет получить наибольшее числовое значений указанной колонки, в указанной таблице. В процедуру также можно передать минимальное числовое значение, с которого будет производиться поиск максимального значения.

Инструкции

Использовать, например так:
exec nth 'users', 'id', 1

Код

CREATE PROC nth 
(
	@table_name sysname,
	@column_name sysname,
	@nth int
)
AS
BEGIN
  
  -- exec nth 'users', 'id', 1

  SET @table_name = RTRIM(@table_name)
  SET @column_name = RTRIM(@column_name)

  DECLARE @exec_str CHAR(400)
  IF (SELECT OBJECT_ID(@table_name,'U')) IS NULL
  BEGIN
	  RAISERROR('Invalid table name',18,1)
	  RETURN -1
  END

  IF NOT EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @table_name AND COLUMN_NAME = @column_name)
  BEGIN
	  RAISERROR('Invalid column name',18,1)
	  RETURN -1
  END

  IF @nth <= 0
  BEGIN
	  RAISERROR('nth highest number should be greater than Zero',18,1)
	  RETURN -1
  END

  SET @exec_str = 'SELECT MAX(' + @column_name + ') from ' + @table_name + ' WHERE ' + @column_name + ' NOT IN ( SELECT TOP ' + LTRIM(STR(@nth - 1)) + ' ' + @column_name + ' FROM ' + @table_name + ' ORDER BY ' + @column_name + ' DESC )'
  EXEC (@exec_str)

END
Об авторе

Narayana Vyas Kondreddi

Нет информации об авторе...
Narayana Vyas Kondreddi
Последние комментарии (всего: 0)

Добавлять комментарии могут только зарегистрированные пользователи сайта.
Если у Вас уже есть учетная запись на Kbyte.Ru, пройдите процедуру авторизации OpenID.
Если Вы еще не зарегистрированы на Kbyte.Ru - зарегистрируйтесь.


Нет комментариев...

Авторизация
 
OpenID
Зарегистрируйся и получи 10% скидку на добавление своего сайта в каталоги! Подробнее »
Поиск по сайту
Реклама
Счетчики