SQL MIN() 関数を GROUP BY と共に使用する場合、追加の列 (MIN 列または GROUP BY 列の 1 つ以外) は、一致する MIN 行のデータと一致しますか?
たとえば、部署名、従業員名、および給与を含むテーブルがあるとします。
SELECT MIN(e.salary), e.* FROM employee e GROUP BY department
明らかに、最低給与と部門という 2 つの適切な列が得られます。従業員名 (およびその他の従業員フィールド) は同じ行から取得されますか? つまり、MIN(給与)の行ですか?
同じ (そして最も低い) 給与の従業員が 2 人存在する可能性が高いことはわかっていますが、(現在) 関心があるのは、最も安い従業員(または1 人の) に関するすべての情報を取得することだけです。
これは最も安いセールスマンを選ぶでしょうか?
SELECT min(salary), e.* FROM employee e WHERE department = 'sales'
基本的に、MIN() 関数とともに返されるデータが、その最小値を持つ(または単一の) レコードと一致することを確認できますか?
データベースが重要な場合は、MySql を使用しています。