当前位置:  开发笔记 > 编程语言 > 正文

从20的一组中选择最多5个整数

如何解决《从20的一组中选择最多5个整数》经验,为你挑选了1个好方法。

我正在尝试从表格中最近20个条目的列表中选择5个查看次数最多的文章.我的表结构基本上是这样的:

id | date | title | content | views

我的第一个想法只是使用内部选择来获取最近的20篇文章,然后从中选择,但我还没有运气.

//doesn't work (my version of mysql doesn't support LIMIT in sub queries)
$recent = "(SELECT id FROM news ORDER BY date DESC LIMIT 20)";
$result = $db->query("SELECT id, title, date, content FROM news WHERE id IN $recent ORDER BY views DESC LIMIT ".self::RECENT_MAX);

//neither does this (syntax error @ 'OFFSET 20')
$recent = "(SELECT MAX(date) FROM news ORDER BY date DESC OFFSET 20)";
$result = $db->query("SELECT id, title, date, content FROM news WHERE date > $recent ORDER BY views DESC LIMIT ".self::RECENT_MAX);

任何人都有关于如何构建此查询的任何建议?



1> meouw..:

我只是测试了它,它的工作原理

SELECT *
FROM (
    SELECT *
    FROM news
    ORDER BY id DESC
    LIMIT 0, 20
) lasttwenty
ORDER BY views DESC
LIMIT 0, 5

服务器版本:5.0.51a-3ubuntu5.4

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有