数据库查询 (100分)

  • 主题发起人 主题发起人 ljbXS
  • 开始时间 开始时间
L

ljbXS

Unregistered / Unconfirmed
GUEST, unregistred user!
在一个数据库中找出最底价的应怎么写
编号 品名 价格 姓名
101001 A 15 dd (1)
101001 A 10 ee (2)
101002 B 25 ff (3)
101002 B 26 ee (4)
我如何找(2),(3)出两条记录
 
select * from table where 价格=(select min(价格) from table a where a.编号=table.编号)
 
你是什么数据库?
 
老兄,你的问题说得一点都不清楚,又说找出
最底价的记录,又说找出2,3两条记录,什么意思 ?
找出最底价的记录,试一下:
select * from tablename
where '价格'=(select min('价格') from tablename);
 
没问题,可以用子查询,看我的SQL已经通过,结果正确
select * from animals where weight=(select min(weight) from animals a where
a.name=animals.name)
 
select * from table where (编号,价格) IN (SELECT 编号,MIN(价格) FROM
TABLE GROUP BY 编号)
 
楼上老兄:不掂啊,只得出一条而已
 
SELECT 编号,MIN(价格)
FROM TABLENAME
GROUP BY 编号
 
萧月禾:这样能显示所有字段?
 
Brave已经说的很清楚,怎么还不结束呀
 
集合操作:
select * from table1 a join
(select 品名 , min(价格) as 价格 from table1 group by 品名 )as b
on a.品名=b.品名 and a.价格=b.价格
 
如果你的问题是找出同一品名中最低的价格,那正确答案如下:
select 品名, Min(价格) from xjgtest
group by 品名
 

唉!最基本的SQL语法!没劲!
 
不对阿!只找101001 A 的记录, 我还要101002 B的记录
 
什么不对?
select 品名, Min(价格) from xjgtest
group by 品名  返回的不就是你要的(2)跟(3)吗?
 
我还要显示全部字段,这只不有品名和价格
 
select * from table where (编号,价格) in (select 编号,min(价格) from table group by 编号);
呵呵,已经是第三次回答了。[:)]
 
我倒! 建议你买本SQL的书来看看。
select * from xjgtest where (品名, 价格) in
(select 品名, Min(价格) from xjgtest
group by 品名);
如果你的品名跟编号是一一对应的,那westboy2000的答案也可以。
 
后退
顶部