java-mall/mall-shop/target/classes/mapper/analytics/AnalyticsAccessHistoryMapper.xml
2024-10-26 10:01:40 +08:00

55 lines
2.4 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.suisung.mall.shop.analytics.mapper.AnalyticsAccessHistoryMapper">
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
access_id
, user_id, access_client_id, access_os, access_browser_name, access_browser_version, access_spider, access_country, access_province, access_city, access_county, access_lang, access_ip, access_url, access_time, access_year, access_month, access_day, access_hour, access_date, access_datetime, access_refer_domain, access_refer_url, access_mobile, access_pad, access_pc, access_device, access_type, access_from
</sql>
<select id="getAccessOs" resultType="java.util.Map">
SELECT Count(*) AS value,
if(access_os = '', '未知', access_os) name
FROM analytics_access_history
GROUP BY access_os
</select>
<select id="getAccessBrowser" resultType="java.util.Map">
SELECT Count(*) AS value,
if(access_browser_name = '', '未知', access_browser_name) name
FROM analytics_access_history
GROUP BY access_browser_name
</select>
<select id="getAccessCountry" resultType="java.util.Map">
SELECT Count(*) AS value,
if(access_country = '', '未知', access_country) name
FROM analytics_access_history
GROUP BY access_country
</select>
<select id="getAccessDevice" resultType="java.util.Map">
SELECT Count(*) AS value,
(case
when access_device = 1 then '手机'
when access_device = 2 then '平板'
when access_device = 3 then 'PC'
else '未知'
end) name
FROM analytics_access_history
GROUP BY access_device
</select>
<select id="getAccessProvince" resultType="java.util.Map">
SELECT Count(*) AS value,
access_country,
if(access_province = '', '未知', access_province) name
FROM analytics_access_history
WHERE access_country = '中国'
GROUP BY access_country,
access_province
</select>
</mapper>