我是SQL的新手,我使用此查询来查找表格字段权重的最小值。
SELECT product_id,
MIN(weight)
FROM table
WHERE 1;
它确实显示一个具有最小值的字段,但只显示一个?但我有很多产品具有相同的最小重量。有没有办法指明我需要展示所有其他产品?
答案 0 :(得分:16)
select * from table where weight = (select MIN(weight) from table)
答案 1 :(得分:3)
这可能是你要求的:
SELECT product_id FROM table WHERE weight = (SELECT MIN(weight) FROM table);
正如您可能猜到的,这将选择权重等于表中最小权重的所有prodict_id
。
答案 2 :(得分:1)
不确定你想要哪一个,但其中任何一个都可以解决问题:
SELECT product_id, MIN(weight) FROM table WHERE 1 GROUP BY product_id
(列出所有产品ID和每个产品ID的最小重量)
SELECT product_id, weight FROM table WHERE weight = (SELECT min(weight) FROM table)
(查找权重等于最小重量的所有产品ID)
SELECT min(weight) FROM table;
(找到绝对最小重量,就是那个)