通过desc / desc以不同的LIMIT进行排序

时间:2015-01-14 01:48:45

标签: sql

我想检查数据库中的最后20个ID并显示最常点击的7个我做了什么我找不到怎么做我试过很多人认为一个例子来理解我想要的...我只需要订购它们由两个desc和不同的LIMIT但它没有合作,如果我用不同的行写它需要最后一个......

SELECT * FROM search ORDER BY id DESC LIMIT 20
SELECT * FROM search ORDER BY clicks DESC LIMIT 7

或SELECT * FROM搜索ORDER BY id DESC LIMIT 20然后用php找到最大的7并显示它们......

1 个答案:

答案 0 :(得分:1)

这是ANSI SQL的答案:

SELECT * FROM
(SELECT * FROM "search" ORDER BY id DESC FETCH FIRST 20 ROWS ONLY)
ORDER BY clicks DESC FETCH FIRST 7 ROWS ONLY

内部SELECT用于获取最后20个ID。然后选择那些20中最常点击的7个。

如果您的dbms不支持FETCH FIRST,请尝试LIMIT或其他......

BTW,搜索是ANSI SQL中的保留字,所以它应该是双引号,即“搜索”。