46

特定のフィールドが最小値を持つMySQLのテーブルからデータを選択したいので、これを試しました:

SELECT * FROM pieces WHERE MIN(price)

助けてください。

4

8 に答える 8

74

これにより、すべてのレコードで最低価格の結果が得られます。

SELECT *
FROM pieces
WHERE price =  ( SELECT MIN(price) FROM pieces )
于 2012-11-13T07:51:53.763 に答える
60

質問を理解していると仮定すると、これが私が行う方法です。

SELECT * FROM pieces ORDER BY price ASC LIMIT 1

それぞれの最低価格が同じ複数の行を選択しようとしている場合は、@ JohnWoo の回答で十分です。

基本的にここでは、結果を価格の昇順 (ASC) で並べ替え、結果の最初の行を取得しています。

于 2012-11-13T07:58:35.173 に答える
5

HAVING MIN(...)を使用

何かのようなもの:

SELECT MIN(price) AS price, pricegroup
FROM articles_prices
WHERE articleID=10
GROUP BY pricegroup
HAVING MIN(price) > 0;
于 2014-05-17T12:34:41.567 に答える
5

これも機能します:

SELECT
  pieces.*
FROM
  pieces inner join (select min(price) as minprice from pieces) mn
  on pieces.price = mn.minprice

(このバージョンにはサブクエリを使用した where 条件がないため、テーブルを更新する必要がある場合に使用できますが、SELECT のみが必要な場合は、John Woo ソリューションを使用することをお勧めします)

于 2012-11-13T08:06:53.840 に答える
-8

簡単にするために

SELECT *,MIN(価格) FROM 製品 LIMIT 1

  • * を付けると、最小値のすべてのレコードが表示されます
于 2016-10-03T12:41:00.290 に答える