我正在编写一个 SQL 函数。我想从一个表中订购所有数据(任何表,对于这个问题都无关紧要)。然后我想在一列上订购数据。然后,一旦执行了这个订单,我想从顶行中提取一些列(在排序之后)。
我不认为我可以使用partititon by,因为排序是针对整个数据而不是分组?
我卡住了,因为您只能在函数末尾使用 ORDER BY
我正在编写一个 SQL 函数。我想从一个表中订购所有数据(任何表,对于这个问题都无关紧要)。然后我想在一列上订购数据。然后,一旦执行了这个订单,我想从顶行中提取一些列(在排序之后)。
我不认为我可以使用partititon by,因为排序是针对整个数据而不是分组?
我卡住了,因为您只能在函数末尾使用 ORDER BY
听起来像是对SELECT TOP 1
查询的复杂描述:
SELECT TOP 1 t.ColumnA, t.ColumnD, t.ColumnF
FROM YourTable t
ORDER BY t.ColumnB DESC,
ColumnB
将按降序排列表格,然后返回 ColumnsA
和.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)