В SQL, как я могу получить все строки, где значение столбца является самым низким в таблице? - PullRequest
6 голосов
/ 14 октября 2010

Я новичок в SQL, я использую этот запрос, чтобы найти минимальное значение в поле веса моей таблицы.

SELECT product_id, 
       MIN(weight) 
  FROM table 
 WHERE 1;

Показывает одно поле с минимальным значением, но только одно? Но у меня много продуктов с одинаковым минимальным весом. Можно ли указать, что мне нужно показать все другие продукты?

Ответы [ 3 ]

16 голосов
/ 14 октября 2010
select * from table where weight = (select MIN(weight) from table)
3 голосов
/ 14 октября 2010

Это может быть то, что вы просите:

SELECT product_id FROM table WHERE weight = (SELECT MIN(weight) FROM table);

Как вы можете догадаться, при этом будут выбраны все prodict_id с, где вес равен минимальному весу в таблице.

1 голос
/ 14 октября 2010

Не уверен, какой именно вы хотите, но любой из них должен сделать свое дело:

SELECT product_id, MIN(weight) FROM table WHERE 1 GROUP BY product_id

(перечислить все идентификаторы продуктов и минимальный вес для каждого идентификатора продукта)

SELECT product_id, weight FROM table WHERE weight = (SELECT min(weight) FROM table)

(Найти все идентификаторы продуктов, где вес равен минимальному весу)

SELECT min(weight) FROM table;

(Найти абсолютный минимальный вес, вот и все)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...