相关的知识点的说明:
- Concat 用来进行 进行字符串拼接,拼接之后当做正常的字符串进行处理。又因为前面使用的 like 关键字,所以like后面的东西是正则表达式。
- group by 的意思是分组的意思,分组需要有依据。这里是根据三个字段进行的分组。
- count函数是作用于 每个组的,每个组有一个结果。
- 分组之后多个表项被压缩成一项。
INSERT INTO apk_package (
apk_name,
apk_version,
package_name,
call_count
)(
SELECT
method_androguard.apk_name,
method_androguard.apk_version,
method_androguard.package_name,
COUNT(method_androguard.apk_name)
FROM
method_androguard
WHERE
package_name NOT LIKE CONCAT(
method_androguard.apk_name,
"%"
)
GROUP BY
method_androguard.apk_name,
method_androguard.apk_version,
method_androguard.package_name
);