对于一个博客项目,我想根据他们的评级和插入的日期时间来订购新帖子。
但在订购之前,我想对这些值进行一些数学运算,以便在显示的第一个帖子中获得流行度和流行度的良好组合。(就像在reddits首页上)
我可以用纯 SQL 做到这一点吗?我不认为这是可能的......
你将如何处理这项任务?
表:post 列:pid 标题内容作者日期时间 last_edited 类别密码
可能您需要创建一些表达式和命令 - 在这里我试图展示它是如何实现的:
declare @Temp_Data table (Rating int, [Date] datetime, [Text] nvarchar(max))
insert into @Temp_Data
select 100, '20121001 15:00', 'Big rating post' union all
select 1, '20121013 15:00', 'Recent post' union all
select 20, '20121005 15:00', 'Other post'
select
T.Rating, T.[Date], T.[Text]
from @Temp_Data as T
order by Rating * 200 - datediff(mi, [Date], getdate()) desc