特定のフィールドが最小値を持つMySQLのテーブルからデータを選択したいので、これを試しました:
SELECT * FROM pieces WHERE MIN(price)
助けてください。
特定のフィールドが最小値を持つMySQLのテーブルからデータを選択したいので、これを試しました:
SELECT * FROM pieces WHERE MIN(price)
助けてください。
これにより、すべてのレコードで最低価格の結果が得られます。
SELECT *
FROM pieces
WHERE price = ( SELECT MIN(price) FROM pieces )
質問を理解していると仮定すると、これが私が行う方法です。
SELECT * FROM pieces ORDER BY price ASC LIMIT 1
それぞれの最低価格が同じ複数の行を選択しようとしている場合は、@ JohnWoo の回答で十分です。
基本的にここでは、結果を価格の昇順 (ASC) で並べ替え、結果の最初の行を取得しています。
HAVING MIN(...)を使用
何かのようなもの:
SELECT MIN(price) AS price, pricegroup
FROM articles_prices
WHERE articleID=10
GROUP BY pricegroup
HAVING MIN(price) > 0;
これも機能します:
SELECT
pieces.*
FROM
pieces inner join (select min(price) as minprice from pieces) mn
on pieces.price = mn.minprice
(このバージョンにはサブクエリを使用した where 条件がないため、テーブルを更新する必要がある場合に使用できますが、SELECT のみが必要な場合は、John Woo ソリューションを使用することをお勧めします)
簡単にするために
SELECT *,MIN(価格) FROM 製品 LIMIT 1