我想从我的用户那里找到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?
答案 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