我有以下表格:
items(itemid, itemName, catid)
categories (catid, catname)
prices (itemid, open_price, close_price)
- 每个项目仅属于 1 个类别
- 每个商品在价格表中只有 1 个 open_price, close_price 行
如果我有 10 个类别,每个类别中有 10 个项目(例如),我如何找到每个类别中价格变化最大的公司。
我目前有一个 php 循环,它运行并获取每个类别的最佳表现,但想知道是否有一种方法可以更有效地做到这一点。
谢谢
代码:
foreach category, run the following query:
SELECT c.itemid, c.itemname ,
100.0 * ( cp.close_price - cp.open_price )/ IFNULL(cp.open_price,1) AS overall_change
FROM prices cp
LEFT JOIN items c ON c.itemid = prices.itemid
WHERE c.catid=8 ORDER BY overall_change DESC LIMIT 1;