Mysql存储过程查询
我使用以下存储过程返回最近或最后插入的活动的已发送电子邮件 现在,我的目标是仅显示已发送的活动:count大于0如何更改以下sp以执行此操作,因为现在它将返回所有活动,包括0和大于0 代码是Mysql存储过程查询,mysql,Mysql,我使用以下存储过程返回最近或最后插入的活动的已发送电子邮件 现在,我的目标是仅显示已发送的活动:count大于0如何更改以下sp以执行此操作,因为现在它将返回所有活动,包括0和大于0 代码是 DELIMITER $$ DROP PROCEDURE IF EXISTS `couponcrusaderdev`.`sp_tblemailcampaignLoadTop4`$$ CREATE DEFINER=`anyone`@`000.000.00.00` PROCEDURE `sp_tblemail
DELIMITER $$
DROP PROCEDURE IF EXISTS `couponcrusaderdev`.`sp_tblemailcampaignLoadTop4`$$
CREATE DEFINER=`anyone`@`000.000.00.00` PROCEDURE `sp_tblemailcampaignLoadTop4`(p_UserID Int(11))
SQL SECURITY INVOKER
BEGIN
SELECT EC.*,(Select MailChimpCampaignID from tblcampaignschedule where EC.CampaignID=tblcampaignschedule.CampaignID ) as MailChimpCampaignID,(Select count(MailChimpCampaignID) from tblcampaignschedule) as msent,CT.CampaignType, (Select tblcampaignschedule.ScheduleDateTime from tblcampaignschedule
where EC.CampaignID=tblcampaignschedule.CampaignID order By ScheduleDateTime desc limit 1) as CampaignDateTime,
(Select Count(*) from tblemailsent ES
inner join tblcampaignschedule CS on CS.CampaignSceduleID= ES.CampaignSceduleID
where ES.Status= 'ProcessedMessage' and CS.CampaignID = EC.CampaignID)as Sent
FROM tblemailcampaign EC
inner join tblcampalgntype CT on CT.CampaignTypeID= EC.CampaignTypeID
inner join tblcompanies C On EC.CompanyID = C.CompanyID
WHERE (p_UserID = 0 OR C.AddUserID = p_UserID)
order by CampaignDateTime desc limit 4
;
END$$
DELIMI
你应该使用
手册:
感谢您的回复,但是我应该将此代码放在上面代码的哪里?您可以将其粘贴到上面代码中并重新发送给我吗?请注意,我是一名初学者,下面这行应该怎么做。。。。。。。。。。按活动日期时间描述限制4订购,以及应使用以下行执行的操作。。。。。。。。。。通过添加COUNTsent>=0,按活动日期时间描述限制4排序;它返回异常结果我认为这是因为它是否应该放置GroupBy如果是,那么它的语法是什么?尝试使用以下方法:按活动日期时间分组测试>0按活动日期时间顺序描述限制4
HAVING COUNT(sent) >= 0;