找回密码
 立即注册

QQ登录

只需一步,快速开始

Pluto丶
金牌服务用户   /  发表于:2024-4-12 12:50  /   查看:341  /  回复:5
1金币

image.png830115661.png



with RankedRecords AS
    (SELECT *, ROW_NUMBER() over(partition by taskid ORDER BY  operatedate desc, operatetime desc) AS RowNum
    FROM TM_TaskLog
    WHERE type = 6 )
select * from RankedRecords

本地使用navicat可以查询,但是用sql建数据模型的时候报错,sql应该怎么修改?(数据库是sql server)

最佳答案

查看完整内容

你可以把sql 修改为使用子查询的方式,比如, select * from ( SELECT *, ROW_NUMBER() over(partition by taskid ORDER BY operatedate desc, operatetime desc) AS RowNum FROM TM_TaskLog WHERE type = 6 ) as RankedRecords

5 个回复

倒序浏览
最佳答案
最佳答案
Thomas
葡萄城公司职员   /  发表于:2024-4-12 12:50:32
来自 3#
你可以把sql 修改为使用子查询的方式,比如,
select * from (
   SELECT *, ROW_NUMBER() over(partition by taskid ORDER BY  operatedate desc, operatetime desc) AS RowNum
   FROM TM_TaskLog
   WHERE type = 6
) as RankedRecords

回复 使用道具 举报
Eden.SunWyn认证
超级版主   /  发表于:2024-4-12 16:31:45
2#
我微信联系您。
回复 使用道具 举报
Pluto丶
金牌服务用户   /  发表于:2024-4-12 16:44:37
4#
Thomas 发表于 2024-4-12 16:38
你可以把sql 修改为使用子查询的方式,比如,
select * from (
   SELECT *, ROW_NUMBER() over(partitio ...

子查询确实可以,但是with语法不行
回复 使用道具 举报
zhaoye
注册会员   /  发表于:2024-4-12 17:02:18
5#
with可以在数据集中使用;
不知道你是用的缓存模型还是直连模型,如果用缓存模型的话,可以引用直连/缓存数据集,这样可以先创建一个数据集,然后在模型中引用这个数据集就可以了。
回复 使用道具 举报
Eden.SunWyn认证
超级版主   /  发表于:2024-4-12 18:31:42
6#
您可以先试一下楼上老贴的方式,直接使用模型确实会有WITH语句目前有点问题,我这边再确认一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部