2012-11-08 28 views
0

我有以下結構的表格。此表中的內容是重複的。我想用最低價格顯示記錄。MySQL:如何從包含重複行的表中獲取最小值?

GROUP IDX NAME  PRICE 

141003 6 0285-00 499.88000 
141003 2 028500  519.13000 
141003 1 0285-00 424.12000 
141005 2 02851  559.13000 
141005 1 0285-1  434.12000 

結果表

141003 1 0285-00 424.12000 
141005 1 0285-1  434.12000 

我想這一點,但返回的結果是:

141003 6 0285-00 499.88000 

查詢:

select group, idx, name, price 
       FROM table 
       GROUP BY group 
       ORDER BY price; 
+0

http://www.w3schools.com/sql/sql_func_min.asp –

回答

1
SELECT group, idx, name, price 
    FROM table 
    WHERE group = 141003 
    ORDER BY price ASC 
    LIMIT 1; 

會做的伎倆。

+0

我改變了表格,增加了更多的組,並改變了結果表格。此查詢返回正確的結果爲組141003 – dido

+0

那麼你是否暗示我的答案是正確的?請在這種情況下將我的答案設置爲正確的,如果您仍有問題,請詳細說明。 – Martin

1

,如果你想知道各組的最低價格使用以下查詢:

所有組
select `group`, `idx`, `name`, MIN(price) AS min_price 
       FROM `table` 
       GROUP BY `group`; 

Documentation for 'MIN' function

0

首先是在MySQL的保留字。你應該使用`圍繞它或重命名錶。像這樣:

select `group`, idx, name, price from test_2 where `group` = 141003 order by price desc limit 1; 

爲什麼你想分組,如果該組在一個值的where條件?你想從所有的組中最便宜的項目?

相關問題