java mysql order by_MYSQL - ORDER BY&LIMIT

正如@James所说,它将订购所有记录,然后获得前20行 .

事实如此,您可以保证获得20篇首次发表的文章,新版文章将不会显示 .

在你的情况下,我建议你添加 desc 到 order by publish_date ,如果你想要最新的文章,那么最新的文章将是第一篇 .

如果你需要按升序保存结果,并且仍然只想要10篇最新文章,你可以让mysql对结果进行两次排序 .

下面的查询将对结果进行降序排序,并将结果限制为10(即括号内的查询) . 它仍将按降序排序,我们对此不满意,因此我们要求mysql再次对其进行排序 . 现在我们在最后一行有最新的结果 .

select t.article

from

(select article, publish_date

from table1

order by publish_date desc limit 10) t

order by t.publish_date asc;

如果您需要所有列,则以这种方式完成:

select t.*

from

(select *

from table1

order by publish_date desc limit 10) t

order by t.publish_date asc;

当我手动编写查询来检查数据库中的各种事物时,我使用这种技术 . 我没有在 生产环境 环境中使用它,但是现在当我标记它时,额外的排序不会影响性能 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值