SQL

字符串截取函数

SUBSTRING_INDEX(string, delimiter, number)
substring(字符,开始位置,长度)

参数值

参数 描述
string 必需。原字符串
delimiter 必需。要搜索的分隔符
number 必需。 搜索delimiter可以是正数或负数。 如果它是一个正数,这个函数返回所有到delimiter的左边。 如果是负数,这个函数返回delimiter右边的所有。

实例

SELECT SUBSTRING_INDEX("www.w3schools.com", ".", 1);
#结果:www

SELECT SUBSTRING_INDEX("www.w3schools.com", ".", 2);
# 结果:www.w3schools

参考:MySQL SUBSTRING_INDEX()函数

累加:SUM() OVER() 函数

作用:计算同时在线人数

点击查看代码
#----------------------------第一步---------------------------
with
    temp as (
        select
            course_id,
            course_name,
            user_id,
            in_datetime as dt,
            1 as flag
        from
            attend_tb a
            join course_tb b using (course_id)
        union
        select
            course_id,
            course_name,
            user_id,
            out_datetime as dt,
            -1 as flag
        from
            attend_tb a
            join course_tb b using (course_id)
    )
#----------------------------第二步---------------------------
    select
    course_id,
    course_name,
    max(num) as max_num
from
    (
        select
            course_id,
            course_name,
            sum(flag) over (
                partition by
                    course_id
                order by
                    dt
            ) as num
        from
            temp
    ) t1
group by
    course_id,
    course_name
order by
    course_id
posted @ 2023-06-11 21:23  巷北*  阅读(30)  评论(0编辑  收藏  举报