我知道这个问题已经被问了十几次,但我尝试了不同的解决方案,但没有一个解决了我面临的问题。
我有以下查询:
SELECT mn.meter_name, m.meter_number, m.meter_location, r.rates_meter_rate,
r.rates_meter_PPD, m.meter_ID, mt.metertracking_periodend,
mt.metertracking_read, mt.metertracking_readend
FROM db_meters m, db_meters_name mn, db_rates_meter r, db_meters_tracking mt
WHERE m.ICP_ID = '$ICP' AND m.meter_name_ID = mn.meter_name_ID
AND r.meter_ID = m.meter_ID AND r.contract_ID = '$contract_ID'
AND mt.meter_ID = m.meter_ID
GROUP BY meter_ID
ORDER BY ABS( DATEDIFF( metertracking_periodend, NOW() ) )
但它并没有完全做到它应该做的事情。它希望它会显示当前日期的最新metertracking_periodend,但相反,由于每米的metertracking表有多个条目,它显示第一个插入。
我尝试将其更改为:
ORDER BY metertracking_periodend DESC
但它的输出是一样的,它似乎是 GROUP BY Meter_ID 的东西,我需要它,因为我只想要每米的最新结果,其中最多可能有四个。
因此,如果有人可以帮助我输出最新的“metertracking_periodend”订购的信息,我们将不胜感激。谢谢。
编辑:输出
“metertracking_periodend”实际有一个“2013-10-01”条目,所以这是应该从表中获取的,而不是 2012-12-31 的旧条目。希望这个编辑有帮助。