![](/img/trans.png)
[英]mysql group by to return a the min value and get the corresponding row data
[英]Getting the value of row with min(price) group by code in mysql
我的表結構是這樣的:
country | price | code
---------------------------------------
EGYPT PROPER WHOLESALE | 0.037 | 20
EGYPT FIXED | 0.0710 | 20
EGYPT-OTHER | .0497 | 20
我必須使用GROUP BY代碼,並且我希望輸出為:
country | price | code
---------------------------------------
EGYPT PROPER WHOLESALE | 0.037 | 20
具有最低價格。
我的查詢是:
select MIN(inp.price) as Price, inp.code, inp.country
from tbl_input_values as inp
GROUP BY code
但我得到的輸出為:
country | price | code
------------------------------
EGYPT-OTHER | .037 | 20
這里,
SELECT *
FROM tbl_input_values
WHERE price = (SELECT MIN(PRICE) FROM tbl_input_values)
對於每個代碼,這將顯示具有最低價格的行:
SELECT yourtable.*
FROM yourtable
WHERE (code, price) IN (select code, min(price)
from yourtable
group by code)
帶有多個代碼:
SELECT tb1.*
FROM tbl_input_values tb1
INNER JOIN (select code, min(price) minPrice
FROM tbl_input_values
GROUP BY code) as a
ON a.code = tb1.code and a.minPrice =tb1.price
我認為最簡單的方法是:
select t.*
from t
order by price
limit 1
您根本不需要聚合。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.