データベース テーブルを操作する場合、特定のフィールドが最小値を保持するレコードを取得する必要が生じる場合があります。 MySQL では、これは SELECT ステートメントと WHERE ステートメントの組み合わせを使用して実現できます。
よくある誤解の 1 つは、SELECT ステートメントで MIN() 関数を誤って使用することです。元の質問で提供されている次の例では、望ましい結果が得られません:
<code class="sql">SELECT * FROM pieces WHERE MIN(price)</code>
このクエリは、すべてのレコードにわたる最低価格を計算し、最小価格を持つ個々のレコードを返しません。
解決策:
特定のフィールドの最小値を持つレコードを正しく選択するには、次のクエリを使用できます。
<code class="sql">SELECT * FROM pieces WHERE price = ( SELECT MIN(price) FROM pieces )</code>
説明:
例:
次のテーブルを考えてみましょう:
id | name | price |
---|---|---|
1 | Item 1 | 10 |
2 | Item 2 | 5 |
3 | Item 3 | 10 |
4 | Item 4 | 15 |
上記のクエリを実行すると、次のレコードが返されます:
id | name | price |
---|---|---|
2 | Item 2 | 5 |
このレコードは、個数テーブル内のすべてのレコードの中で最低価格 (5) を持ちます。
以上がMySQL の特定のフィールドで最小値を持つレコードを選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。