怎么取得数据库中所有满足条件数据中的最大值?

时间:2022-05-29 15:10:59
怎么取得数据库中所有满足条件数据中的最大值?具体怎么做?用ADOQuery和SQL查询.

9 个解决方案

#1


忘了说明了,这些数据记录都是日期。就是取得满足指定条件的日期中的最大和最小值。

#2


SELECT MAX(...) FROM ... WHERE ...

#3


select top 1 日期 from 表 order by 日期   //最小值
select top 1 日期 from 表 order by 日期 desc   //最大值

#4


SQL 语句有错啊

#5


我现在要找出两个时间字段的最小和最大值

就是开始时间的最小值,结束时间的最大值,SQL语句怎么写呢?

#6


或者怎么提取每一条记录的值?比如说满足条件有三条记录:把每一条记录的时间值记下来。

#7


select * from table1 where table1.id =(select max(id) from table1 where 条件)

#8


--取最大最小时间
select min(开始时间),max(结束时间) from 表
  where 条件

--取满足条件的记录
select * from 表
  where 开始时间=(select min(开始时间) from 表)
    or 结束时间=(select mxx(结束时间) from 表)

//delphi下使用
with tadoquery.create(nil) do
  try
    connection := adoconnection1;
    sql.text := '上面的取满足条件的记录的sql';
    open;
    while not eof do
      begin
        //可以去每个字段的值
        //如
        edit1.text := fieldbyname('开始时间').asstring; 
        edit2.text := fieldbyname('结束时间').asstring; 

        next;
      end;
  finally
    close;
    free;
  end;


不知道这个是不是你要的。

#9


max(),min()

#1


忘了说明了,这些数据记录都是日期。就是取得满足指定条件的日期中的最大和最小值。

#2


SELECT MAX(...) FROM ... WHERE ...

#3


select top 1 日期 from 表 order by 日期   //最小值
select top 1 日期 from 表 order by 日期 desc   //最大值

#4


SQL 语句有错啊

#5


我现在要找出两个时间字段的最小和最大值

就是开始时间的最小值,结束时间的最大值,SQL语句怎么写呢?

#6


或者怎么提取每一条记录的值?比如说满足条件有三条记录:把每一条记录的时间值记下来。

#7


select * from table1 where table1.id =(select max(id) from table1 where 条件)

#8


--取最大最小时间
select min(开始时间),max(结束时间) from 表
  where 条件

--取满足条件的记录
select * from 表
  where 开始时间=(select min(开始时间) from 表)
    or 结束时间=(select mxx(结束时间) from 表)

//delphi下使用
with tadoquery.create(nil) do
  try
    connection := adoconnection1;
    sql.text := '上面的取满足条件的记录的sql';
    open;
    while not eof do
      begin
        //可以去每个字段的值
        //如
        edit1.text := fieldbyname('开始时间').asstring; 
        edit2.text := fieldbyname('结束时间').asstring; 

        next;
      end;
  finally
    close;
    free;
  end;


不知道这个是不是你要的。

#9


max(),min()