我需要统计数据库中每个组中有多少用户。不幸的是,数据库设计不是很好,用户的uid是针对LONGTEXT字段列名owncloudusers中的组表进行存储的。 owncloudusers数据的 示例:MySQL LIKE语句加入
{I:0; S:36: “25C967BD-AF78-4671-88DC-FAD935FF1B26”; I:1; S:36:“40D6866B-EA06-4F39-B509- 8CE551CC1924 “; I:2; S:36:” 7724C600-DE23-45C8-8BFD-326B0138E029 “; I:3; S:36:” D6FF37EC-11F4-471F-94C9-F3A28416CF1F“; I:4; S:36 :“F70C6D03-B7BA-44E4-B703-9AF3EED9BC03”;}
我以为我可以使用查询与LIKE在加入比较用户的UID和往里owncloudusers,看看是否有匹配。
我已经得到的最接近的是:
SELECT T1.owncloudname, count(T2.owncloud_name) AS Users
FROM oc_ldap_group_members T1
LEFT JOIN oc_ldap_user_mapping T2 ON T1.owncloudusers LIKE('%:"'||T2.owncloud_name||'";%')
GROUP BY owncloudname;
T1表保存分组,谁被标记到该组 T2表保存用户的数据。列owncloud_name是用户的UID列
我已经试过我的计算器CONCAT发现了LIKE加入和LIKE( '%: “ '+ T2.owncloud_name +'”;%')的几个方法
但是,没有喜悦。目前的声明我已经返回0个用户反对所有组,但我知道这是不正确的。
我知道它很多,但加入的一个问题不知道下一步该去哪里。
任何援助将不胜感激。
谢谢我已经尝试了上述的答复,它运行没有错误,但是,同样的问题计数返回0 –