0

こんにちは、MYSQL にテーブルがあります

  prices

cost  name
3.10  salt
4.00  soda
1.00  bread
1.50  candy
3.50  bread
4.00  candy

すべてのアイテムが3.00を超えているアイテムのみを表示できるようにしたい

のようなもの

cost  name
3.10  salt
4.00  soda

私の結果だろう

MYSQLでこれを行うにはどうすればよいですか?

4

3 に答える 3

3
SELECT p1.*
FROM prices p1
JOIN (SELECT name, MIN(cost) mincost
      FROM prices
      GROUP BY name
      HAVING mincost > 3) p2
ON p1.name = p2.name
于 2013-07-11T02:12:51.973 に答える
2

サブクエリまたは結合内で分を使用できます。

select * from prices
  where name in (select name from prices group by name having min(cost) > 3);

SQLFiddle へのリンク

于 2013-07-11T02:12:42.930 に答える
0
select cost,name from prices where cost>3.00 order by name;

出力は

cost  name
3.50  bread
4.00  candy
3.10  salt
4.00  soda
于 2013-07-11T02:43:28.630 に答える