如何在MySQL中简化此代码?在mySQL中压缩SQL
SELECT name,
MAX(IF(to_days(thedate) - to_days('2009-06-13') = 0, price, '')) AS date1,
MAX(IF(to_days(thedate) - to_days('2009-06-13') = 1, price, '')) AS date2,
MAX(IF(to_days(thedate) - to_days('2009-06-13') = 2, price, '')) AS date3,
MAX(IF(to_days(thedate) - to_days('2009-06-13') = 3, price, '')) AS date4,
MAX(IF(to_days(thedate) - to_days('2009-06-13') = 4, price, '')) AS date5,
MAX(IF(to_days(thedate) - to_days('2009-06-13') = 5, price, '')) AS date6,
MAX(IF(to_days(thedate) - to_days('2009-06-13') = 6, price, '')) AS date7,
AVG(price),SUM(price)
FROM `personals`
WHERE personal_id = '1234'
GROUP BY name
这样计算的日期数是动态的吗?
我认为这个问题会更容易回答,如果你告诉我们你想要的结果是什么。从一开始,这个查询看起来是个不好的主意。 – Blixt 2009-06-11 09:19:08