現在、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フィドルからわかるようにhttp://sqlfiddle.com/#!2/dd9f4/7/0
これにより、誤った値が返されます。つまり、数量が 0 を超える最も安い価格が返されますが、数量が 0 を超えるリストの最初の値が返されるため、製品と製品を結合する必要がありました ありがとう