ID report_Date total_points
--- ----------- -------------
123 2016-07-01 300
123 2016-07-02 600
333 2016-07-01 234
333 2016-07-02 434
了解如何进行MySQL / SQL查询,根据提供的两个日期查找total_points的百分比。
因此,如果我在2016-07-01和2016-07-02查询它,它会给我:
结果如:
ID Percentage_Difference
--- ---------------------
123 100
333 85.47
关于最佳处理方法的建议?
答案 0 :(得分:0)
SELECT x.id
, ((y.total_points-x.total_points)/x.total_points) * 100 pct
FROM my_table x
JOIN my_table y
ON y.id = x.id
AND y.report_date = '2016-07-02'
WHERE x.report_date = '2016-07-01';
如果您愿意,可以从y.report_date计算x.report_date,但该要求不在原始问题中。
请注意,“ID”通常表示代理PRIMARY KEY。在这种情况下,您似乎有一个复合PRIMARY KEY。