SQL排序结果,然后提取多个列?
我正在编写一个SQL函数。我想从一个表中排序所有数据(任何表,对这个问题都不重要)。然后,我想对一列中的数据进行排序。然后,一旦执行了这个顺序,我想从顶行(在排序之后)提取一些列 我不认为我可以使用partititon by,因为排序是基于整个数据,而不是数据组SQL排序结果,然后提取多个列?,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我正在编写一个SQL函数。我想从一个表中排序所有数据(任何表,对这个问题都不重要)。然后,我想对一列中的数据进行排序。然后,一旦执行了这个顺序,我想从顶行(在排序之后)提取一些列 我不认为我可以使用partititon by,因为排序是基于整个数据,而不是数据组 我被卡住了,因为您只能在函数末尾使用ORDER BY听起来像是对选择前1项查询的复杂描述: SELECT TOP 1 t.ColumnA, t.ColumnD, t.ColumnF FROM YourTable t ORDER BY t
我被卡住了,因为您只能在函数末尾使用ORDER BY听起来像是对
选择前1项查询的复杂描述:
SELECT TOP 1 t.ColumnA, t.ColumnD, t.ColumnF
FROM YourTable t
ORDER BY t.ColumnB DESC,
将表按列b
降序排列,然后返回列A
、D
和F
我甚至不确定您是否需要一个函数。试试这样的方法:
CREATE FUNCTION fn_dummy()
RETURNS TABLE
AS
RETURN (
SELECT TOP 1
name, object_id, type_desc
FROM sys.tables
ORDER BY create_date DESC)
你到底想做什么?这是一个表值函数吗?