mysql 取分组前几数据

mysql 取分组前几数据

SELECT
    product_flag,
    time,
    sum_value 
FROM
    ( # 查询数据语句
    SELECT * FROM test ) a 
WHERE
    EXISTS (
    SELECT
        count(*) 
    FROM
        ( # 查询数据语句
        SELECT * FROM test ) b 
        WHERE# 分组字段,如果多个字段,则继续这里添加即可
        a.time = b.time # 指定指标小于某个值,即按什么规则取前几

        AND a.sum_value < b.sum_value 
    HAVING
        (# 分组前几
        count(*)) < 10 
    ) 
ORDER BY
    a.sum_value DESC

本文作者:朝圣

本文链接:www.zh-noone.cn/2021/8/mysql 取分组前几数据

版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0许可协议。转载请注明出处!

contextvars使用
0 条评论