当前位置: 代码迷 >> Sql Server >> SQL该如何写,请高手们指点下
  详细解决方案

SQL该如何写,请高手们指点下

热度:59   发布时间:2016-04-27 14:12:21.0
SQL该怎么写,请高手们指点下!
数据表中的数据有10亿左右,先做如下查询,查出价格最高的记录。
表结构等如下:
表名:AAA
数据:ID Name Num
  1 P1 400
  2 P2 400
  3 P3 300
  4 P4 200
  5 P5 400
  6 P6 300
  ...

结果:ID Name Num
  1 P1 400
  2 P2 400
  5 P5 400
  ...

SQL code
/* 我自己也研究了下,下面的语句可以实现功能,但性能不佳 */SELECT Name, Num FROM AAA WHERE Num = (SELECT MAX(Num) FROM AAA)/* 求不用子查询的方法 */


------解决方案--------------------
貌似你这个已经是最简单的了.

或者分两步走.

declare @num as int
set @num = (SELECT MAX(Num) FROM AAA)
select * from aaa where num = @num

------解决方案--------------------
探讨
貌似你这个已经是最简单的了.

或者分两步走.

declare @num as int
set @num = (SELECT MAX(Num) FROM AAA)
select * from aaa where num = @num

------解决方案--------------------
这样效率上不会有问题的
------解决方案--------------------
lz想多了
------解决方案--------------------
with temp as(
 SELECT MAX(Num) as max_num FROM AAA
)
select AAA.* from AAA, temp where AAA.num = temp.max_num
  相关解决方案