装逼侠 2015-07-30 03:06 采纳率: 0%
浏览 1750

MySQL中的group_concat函数怎么用sybase实现?

select distinct a.computername,a.mac , GROUP_CONCAT(distinct a.username) as usernames,GROUP_CONCAT(distinct a.userid) as userids from (select distinct nons.* , users.username,client.computername from noncontrol_softwares nons left join users on nons.userid=users.userid left join client on nons.mac=client.mac) as a group by a.mac

怎么将这段MySQL语句转换成sybase的?

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-04 03:08
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在Sybase中,你可以使用GROUP_CONCATSTRING_SPLIT函数来处理你的查询。以下是如何使用这些函数的示例:

    SELECT DISTINCT
        a.computername,
        a.mac,
        STRING_SPLIT(a.username, ',') AS usernames,
        STRING_SPLIT(a.userid, ',') AS userids
    FROM (
        SELECT DISTINCT
            nons.*, STRING_SPLIT(users.username, ',')
            FROM noncontrol_softwares nons
            LEFT JOIN users ON nons.userid = users.userid
            LEFT JOIN client ON nons.mac = client.mac
    ) a
    GROUP BY a.mac;
    

    在这个例子中,我们首先使用STRING_SPLIT函数将用户的用户名和用户ID分割成多个部分,并将其存储在一个名为usernamesuserids的列中。

    然后,我们在子查询中对所有非空的行进行分组,并使用DISTINCT关键字排除重复的记录。最后,我们使用GROUP BY关键字按mac地址对结果进行分组。

    注意:这个查询假设你的数据库表结构与提供的SQL查询相匹配。如果你的表结构不同,请根据实际情况调整这个查询。

    评论

报告相同问题?