私のデータベース構造には列が含まれています: id, name, value, dealer
. それぞれvalue
の最低の行を取得したい。私はとを台無しにしようとしてきましたが、まだ解決策がありません。 dealer
MIN()
GROUP BY
質問する
15241 次
7 に答える
25
解決策1:
SELECT t1.* FROM your_table t1
JOIN (
SELECT MIN(value) AS min_value, dealer
FROM your_table
GROUP BY dealer
) AS t2 ON t1.dealer = t2.dealer AND t1.value = t2.min_value
解決策2:
SELECT t1.* FROM your_table t1
LEFT JOIN your_table t2
ON t1.dealer = t2.dealer AND t1.value > t2.value
WHERE t2.value IS NULL
この問題は非常に有名であるため、Mysqlのマニュアルにこの問題に関する特別なページがあります。
これを確認してください:特定の列のグループごとの最大値/最小値を保持する行
于 2012-09-24T09:02:12.637 に答える
3
SELECT MIN(value),dealer FROM table_name GROUP BY dealer;
于 2012-09-24T09:03:32.083 に答える
3
select id,name,MIN(value) as pkvalue,dealer from TABLENAME
group by id,name,dealer;
ここでは、すべての行を ID、名前、ディーラーでグループ化し、最小値を pkvalue として取得します。
于 2012-09-24T09:01:53.650 に答える
1
まず、各ディーラーの最低値を解決し、次に特定のディーラーのその値を持つ行を取得する必要があります。私はこれをそのようにします:
SELECT a.*
FROM your_table AS a
JOIN (SELECT dealer,
Min(value) AS m
FROM your_table
GROUP BY dealer) AS b
ON ( a.dealer= b.dealer
AND a.value = b.m )
于 2012-09-24T09:05:37.987 に答える
0
select id, name, value, dealer from yourtable where dealer
in(select min(dealer) from yourtable group by name, value)
于 2012-09-24T09:10:44.220 に答える
0
次のことを試してください。
SELECT dealer, MIN(value) as "Lowest value"
FROM value
GROUP BY dealer;
于 2012-09-24T09:02:29.360 に答える