我目前正在尝试使用 php 脚本从我的(mysql)数据库中导出一些数据,尽管我也直接在 phpmyadmin 的 sql 部分中尝试了 sql 语句,结果相同。
我想做的是从我的数据库中导出每个独特的产品,以及最便宜的总价,那里有库存并且价格(成本)大于 0,即数量 > 0 和价格 > 0
所以,我想我已经在一些帮助下弄清楚了,它似乎适用于一个小数据集,但我目前在这个表中有大约 500,000 行,并且它会增长。
所以我的声明是:
SELECT
products.name,
products.price,
products.quantity,
products.totalprice
FROM
products INNER JOIN
(SELECT name, MIN(totalprice) min_price
FROM products
WHERE quantity>0 AND price>0
GROUP BY name) m
ON products.name=m.name AND products.totalprice=min_price
在 phpmyadmin 中,它只是出现了“加载”状态,正如您所期望的那样,但实际上从来没有给我任何值。然后我必须“停止”mysql和apache(我使用xampp)然后重新启动它们,否则我无法在数据库中做任何事情。
如果有人可以看到该声明有什么问题,那么很高兴听到任何建议。
编辑
我已经尝试过简单的 sql 语句,但它们似乎没有给我正确的答案。例如我已经尝试过:
SELECT name, MIN(totalprice) min_price, quantity
FROM products
WHERE quantity>0 AND totalprice>0
GROUP BY name
但正如您从我的 sql fiddle http://sqlfiddle.com/#!2/dd9f4/7/0中看到的那样
这给了我不正确的值,也就是说,它给了我数量超过 0 的最便宜的价格,但是数量的回报,列表中数量超过 0 的第一个值,因此我有必须加入产品与产品谢谢