如何使用连接获得成员计数

时间:2011-06-22 15:36:57

标签: mysql sql sql-server join

这是我的数据库结构

              members table
                      member_Id


              membertomshiptable
                      membertomship_startdate
                      membertomship_enddate 
                      member_id
                      mshipstatustype_id

              membershipstatustypetable

                   membershipstatustype_id
                   membershipstatusname

我有membershipstatusname cloumn已完成值。我可以从membertomship_startdate获得有多少成员(数)有membershipstatusname已完成开始日期。

我有一个疑问,我需要在图表上表示这个我需要在x轴上花费几天时间,并且我要在y轴上采用成员ID,并且我想表示有多少成员已经完成了memberstatus名称在一个月内......

可以使用查询

任何人都可以帮助这个

3 个答案:

答案 0 :(得分:2)

这可能是你想要的吗?

SELECT     `membertomship_startdate`,
           `membershipstatusname`,
           COUNT(`member_id`)
FROM       `membertomshiptable`
LEFT JOIN  `membershipstatustypetable` ON
           `membershipstatustypetable`.`membershipstatustype_id` = `membertomshiptable`.`mshipstatustype_id`
GROUP BY   `membertomship_startdate`,
           `membershipstatusname`;

或者搜索“开始日期”大于特定日期的“已完成”成员资格:

这可能是你想要的吗?

SELECT     `membertomship_startdate`
           COUNT(`member_id`)
FROM       `membertomshiptable`
INNER JOIN `membershipstatustypetable` ON
           `membershipstatustypetable`.`membershipstatustype_id` = `membertomshiptable`.`mshipstatustype_id` AND
           `membershipstatusname` = "completed"
WHERE      `membertomship_startdate` > "0000-00-00" AND
GROUP BY   `membertomship_startdate`;

答案 1 :(得分:1)

SELECT membertomship_startdate,
           COUNT(member_id)
FROM       members  t1,

               membertomshiptable t2,
               membershipstatustypetable t3,
WHERE  t1.member_id=t2.member_id AND

            t2.mshipstatustype_id= t3.membershipstatustypetable  AND
            t2.membertomship_startdate> <specify the date here>  AND
            t3.membershipstatusname='completed' AND
GROUP BY   t2.membertomship_startdate

答案 2 :(得分:0)

SELECT COUNT(member_id) JOIN membertomshiptable USING(member_id)
     JOIN membershipstatustypetable ON mshipstatustype_id=membershipstatustype_id
     WHERE membertomship_startdate <= 'XXXX-XX-XX' 
     AND membershipstatusname='complete'

如果您知道要检查的状态ID,则可以避免上次加入。如果您正在寻找特定的月份,也可能还需要指定结束日期。