这是我的数据库结构
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名称在一个月内......
可以使用查询
任何人都可以帮助这个
答案 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,则可以避免上次加入。如果您正在寻找特定的月份,也可能还需要指定结束日期。