• 请不要在回答技术问题时复制粘贴 AI 生成的内容
kikione
V2EX  ›  程序员

SQL 分组查询后取每组的前 N 条记录

  •  
  •   kikione · Jun 21, 2022 · 2655 views
    This topic created in 1445 days ago, the information mentioned may be changed or developed.

    怎么写效率快?有内容表和评论表两张。

    有一批内容,每个内容都有一批评论,我要查出每个内容的最新三条评论,要怎么查?

    怎么写效率高

    6 replies    2022-06-22 15:07:01 +08:00
    adoal
        1
    adoal  
       Jun 21, 2022   ❤️ 2
    用窗口函数
    liuzhaowei55
        2
    liuzhaowei55  
       Jun 21, 2022 via Android
    mysql 一条语句写不出来,pgsql 好像是可以的,没有细研究过。
    Suddoo
        3
    Suddoo  
       Jun 21, 2022   ❤️ 1
    按内容分组,取每组前 N 个 https://www.cnblogs.com/willingtolove/p/10623841.html
    Saxton
        4
    Saxton  
       Jun 22, 2022
    窗口函数就可以做到,如果不用窗口就得子查询。
    opendragonhuang
        5
    opendragonhuang  
       Jun 22, 2022   ❤️ 1
    用窗口函数。MySql 8.0 以上版本用 row_number 函数, 具体用法可以参考 3 楼。MySQL 5.7 的可以参考: https://wenku.baidu.com/view/67428109463610661ed9ad51f01dc281e53a56d6.html 手动实现 row_number 函数。
    SethShi
        6
    SethShi  
       Jun 22, 2022
    用开窗函数
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2964 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 09:08 · PVG 17:08 · LAX 02:08 · JFK 05:08
    ♥ Do have faith in what you're doing.