查询不同种类最新的一条数据

1. any_value()的使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
SELECT
    t.portal_id AS portalId,
    any_value(t.cumulative_comleted) AS completed
FROM
    (
    SELECT
        pfndo.portal_id,
        pfndo.milestones_node_date,
        pfndo.cumulative_comleted
    FROM
        progress_file_new_detail_one pfndo
        LEFT JOIN progress_file_new pfn ON pfn.id = pfndo.fk_id
    WHERE
        pfndo.delete_flag = 0
        AND pfn.delete_flag = 0
        AND pfn.process_state = '1'
        AND ref_config_id = '1707281397367967745'
    ORDER BY
        pfndo.milestones_node_date DESC
        LIMIT 1000000
    ) t
GROUP BY
    t.portal_id

2. 子查询使用(需要修改数据库配置,group by可以不使用聚合函数)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
SELECT
    pfndo.portal_id,
    pfndo.cumulative_comleted
FROM
    progress_file_new_detail_one pfndo
    LEFT JOIN progress_file_new pfn ON pfn.id = pfndo.fk_id
    JOIN (
    SELECT
        t.portal_id AS portalId,
        max( milestones_node_date ) AS milestones_node_date
    FROM
        (
        SELECT
            pfndo.portal_id,
            pfndo.milestones_node_date,
            pfndo.cumulative_comleted
        FROM
            progress_file_new_detail_one pfndo
            LEFT JOIN progress_file_new pfn ON pfn.id = pfndo.fk_id
        WHERE
            pfndo.delete_flag = 0
            AND pfn.delete_flag = 0
            AND pfn.process_state = '1'
            AND ref_config_id = '1707281397367967745'
        ORDER BY
            pfndo.milestones_node_date DESC
            LIMIT 1000000
        ) t
    GROUP BY
        t.portal_id
    ) t1 ON pfndo.portal_id = t1.portalId
    AND pfndo.milestones_node_date = t1.milestones_node_date
WHERE
    pfndo.delete_flag = 0
    AND pfn.delete_flag = 0
    AND pfn.process_state = '1'
    AND ref_config_id = '1707281397367967745'

3. 正规查询最大时间然后left join自己

 

posted @   nitianxiaozi  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示