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

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

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

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

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

    怎么写效率高

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