mssql order rows order by asc for all rows but last 两行
mssql order rows order by asc for all rows but last two rows
需要 order by after union 的帮助
select sno,measurement from measurementTable union all select '' as sno,avg(measurement) as
measurement from measurementTable union all select '' as sno,
max(measurement)-min(measurement) from measurementTable;
我需要在数据网格底部显示平均值,但按 sno 升序排列所有其他 mssql 服务器 table 行
我尝试在 union all 之前使用 order by 并得到错误
select sno,measurement from measurementTable order by sno asc union all select '' as sno,
avg(measurement) as measurement from measurementTable union all select '' as sno,
max(measurement)-min(measurement) from measurementTable;
Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'union'.
是否可以在 union all 之前使用 order by?
在查询末尾添加 Order by
它将应用于整个结果
SELECT *
FROM (SELECT Cast(sno AS VARCHAR(20)) as sno,
measurement
FROM measurementTable
UNION ALL
SELECT '' AS sno,
Avg(measurement) AS measurement
FROM measurementTable
UNION ALL
SELECT '' AS sno,
Max(measurement) - Min(measurement)
FROM measurementTable) A
ORDER BY CASE WHEN sno = '' THEN 1 ELSE 0 END ASC,sno
将 sno
转换为 varchar
以避免隐式转换为 integer
注意: 如果您可以添加示例数据和预期结果,我确定可以使用 ROLLUP
简化查询
只需在查询末尾使用
order by sno
。
需要 order by after union 的帮助
select sno,measurement from measurementTable union all select '' as sno,avg(measurement) as
measurement from measurementTable union all select '' as sno,
max(measurement)-min(measurement) from measurementTable;
我需要在数据网格底部显示平均值,但按 sno 升序排列所有其他 mssql 服务器 table 行 我尝试在 union all 之前使用 order by 并得到错误
select sno,measurement from measurementTable order by sno asc union all select '' as sno,
avg(measurement) as measurement from measurementTable union all select '' as sno,
max(measurement)-min(measurement) from measurementTable;
Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'union'.
是否可以在 union all 之前使用 order by?
在查询末尾添加 Order by
它将应用于整个结果
SELECT *
FROM (SELECT Cast(sno AS VARCHAR(20)) as sno,
measurement
FROM measurementTable
UNION ALL
SELECT '' AS sno,
Avg(measurement) AS measurement
FROM measurementTable
UNION ALL
SELECT '' AS sno,
Max(measurement) - Min(measurement)
FROM measurementTable) A
ORDER BY CASE WHEN sno = '' THEN 1 ELSE 0 END ASC,sno
将 sno
转换为 varchar
以避免隐式转换为 integer
注意: 如果您可以添加示例数据和预期结果,我确定可以使用 ROLLUP
只需在查询末尾使用
order by sno。