0

私のテーブル構造は次のようなものです:

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
4

4 に答える 4

2

ここ、

SELECT  *
FROM    tbl_input_values
WHERE   price = (SELECT MIN(PRICE) FROM tbl_input_values)
于 2013-01-28T15:07:21.677 に答える
1

これにより、すべてのコードについて、最低価格の行が表示されます。

SELECT yourtable.*
FROM yourtable
WHERE (code, price) IN (select code, min(price)
                        from yourtable
                        group by code)
于 2013-01-28T15:13:04.067 に答える
1

複数のコードで:

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
于 2013-01-28T15:15:53.470 に答える
0

最も簡単な方法は次のとおりだと思います。

select t.*
from t
order by price
limit 1

集計はまったく必要ありません。

于 2013-01-28T15:14:11.793 に答える