Helius
2020-12-23 c554c7ad5405bafa149dbb6429e8245f78b33ffc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?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.matrix.system.hiveErp.dao.TjVipSumDao">
 
 
 
    <!-- 人头数统计 -->
    <select id="customerHeadCompare" resultType="java.util.TreeMap">
        select
        <foreach collection="list" index="index" item="item"   separator=","  >
            (
                SELECT count(*)  from (
                    SELECT DISTINCT vip_id  from  achieve_new where <![CDATA[datatime > #{item.beginTime}   and  datatime < #{item.endTime} ]]>
                    <if test="shopId !=null and shopId !=0 " >
                        and SHOP_ID = #{shopId}
                    </if>
                ) t
            ) as t${index}
 
        </foreach>
        from area where id=1
    </select>
 
    <!-- 人次统计 -->
    <select id="customerEnterCountCompare"  resultType="java.util.TreeMap">
        select
        <foreach collection="list" index="index" item="item"   separator=","  >
            (
            SELECT count(*)  from (
            SELECT DISTINCT vip_id   ,date_format(datatime,'%Y-%m-%d') from  achieve_new where <![CDATA[datatime > #{item.beginTime}   and  datatime < #{item.endTime} ]]>
            <if test="shopId !=null and shopId !=0 " >
                and SHOP_ID = #{shopId}
            </if>
            ) t
            ) as t${index}
 
        </foreach>
        from area where id=1
    </select>
 
    <!-- 到店率 -->
    <select id="customerEnterRateCompare"  resultType="java.util.TreeMap">
 
        select
        <foreach collection="list" index="index" item="item"   separator=","  >
 
            ifnull( (    (
                SELECT count(*)  from (
                SELECT DISTINCT vip_id   ,date_format(datatime,'%Y-%m-%d') from  achieve_new where <![CDATA[datatime > #{item.beginTime}   and  datatime < #{item.endTime} ]]>
                <if test="shopId !=null and shopId !=0 " >
                    and SHOP_ID = #{shopId}
                </if>) a
            )
            /
            (
                SELECT count(*)  from (
                SELECT DISTINCT vip_id   from  achieve_new where <![CDATA[datatime > #{item.beginTime}   and  datatime < #{item.endTime} ]]>
                <if test="shopId !=null and shopId !=0 " >
                    and SHOP_ID = #{shopId}
                </if>) b
            )
        ),0 )as t${index}
 
        </foreach>
        from area where id=1
 
    </select>
 
</mapper>