找到前5个sql并在顶部ASC显示它们

时间:2014-07-26 03:43:45

标签: sql

我想从我的用户那里找到TOP 5的点击,并在开头显示TOP 5,然后显示其余的查询。这是代码:

SELECT * 
FROM user 
JOIN 
   (SELECT user_id, hits FROM user) T 
INNER JOIN 
   stats ON user.user_id = stats.user_id 
WHERE 
   user.online = 'Online' 
ORDER BY 
   user_id DESC

基本上我想添加(SELECT user_id, hits FROM user)TOP 5计数并在输出中首先显示ASC

  SELECT TOP 5 hits 
  FROM users

当我尝试以这种方式添加它时,它不会显示任何行。如何设置我的SQL?

1 个答案:

答案 0 :(得分:1)

为什么不按顺序排序...然后您将排在前5名,其他将根据订单显示?

SELECT * FROM user INNER JOIN stats ON
user.user_id = stats.user_id WHERE user.online = 'Online' 
ORDER BY CASE WHEN user.hits IN (SELECT TOP 5 user.hits FROM USERS ORDER BY user.hits) 
THEN user.hits ELSE user.id DESC