-1
我有以下查询:MySQL的:获取上一行
SELECT c.called as customer, c.calling as company, DATE_FORMAT(c.`end`,'%Y-%m-%d') as _date,
@G := if(@prevComp <> c.calling AND @prevCust = c.called AND @prevDay = DATE_FORMAT(c.`end`,'%Y-%m-%d'), 1, 0) as Gain,
@prevComp := c.called as prevComp,
@prevCust := c.calling as prevCust,
@prevDay := DATE_FORMAT(c.`end`,'%Y-%m-%d') as prevDate
FROM cdrdata_archive c,
(SELECT @prevComp := 0, @prevCust := 0, @prevDay := 0) prevVals
ORDER BY c.called, DATE_FORMAT(c.`end`,'%Y-%m-%d')
但是这个输出为prevCust
,prevCompany
和prevDate
同一行值:
Customer Company Date prevCust prevComp prevDate
00140443360 08434599117 2014-01-28 00140443360 08434599117 2014-01-28
00475172558 08434599218 2014-01-27 00475172558 08434599218 2014-01-27
00475172558 08434599118 2014-01-27 00475172558 08434599118 2014-01-27
所需的输出应该是:
Customer Company Date prevCust prevComp prevDate
00140443360 08834599117 2014-01-28 null null null
00475172558 08834599218 2014-01-27 00140443360 08834599117 2014-01-28
00475136333 08834098771 2014-01-22 00475172558 08834599218 2014-01-27