You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TSQL查询如何按SELECT未指定列排序且仅返回courseid列

调整方案

直接在SELECT子句中只保留courseid,同时将原来计算last_active_on的逻辑直接放到ORDER BY子句中即可,MS SQL Server支持排序依赖的字段不出现在返回结果集中。

调整后的查询语句如下:

SELECT courseid
FROM mdl_logstore_standard_log
WHERE eventname = '\core\event\course_viewed'
GROUP BY courseid
ORDER BY MAX(DATEADD(s, timecreated, '19700101 02:00:00')) DESC, courseid;

说明

原来的排序规则是按课程最近访问时间倒序、再按课程id正序,上面的语句完全沿用了这个逻辑,只是把返回列里的访问时间去掉了,计算逻辑和排序结果和你原来的查询完全一致。

内容的提问来源于stack exchange,提问作者luisdev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 21:36:03