从字段中查找最大值和最小值

时间:2020-05-07 05:52:27

标签: openedge progress-4gl

我有一个临时表ttsales,其中包含一个整数类型的字段名称t_sales,我想从t_sales中找出最大值和最小值,然后单击按钮,将显示那些最大值和最小值。我该怎么办?

2 个答案:

答案 0 :(得分:2)

DEFINE QUERY qry FOR tsales.

OPEN QUERY qry FOR EACH tsales BY t_sales.

GET FIRST qry.

MESSAGE tsales.t_sales.

GET LAST qry.

MESSAGE tsales.t_sales.

根据表的大小,在字段上添加索引。

答案 1 :(得分:2)

一种可能性是将临时表按升序和降序排序。添加索引将有所帮助。如果您不能更改临时表及其较大的表,那么这可能不是最佳解决方案。

DEFINE TEMP-TABLE ttsales NO-UNDO
    FIELD t_sales AS INTEGER
    INDEX sales t_sales.

DEFINE VARIABLE iMin AS INTEGER     NO-UNDO.
DEFINE VARIABLE iMax AS INTEGER     NO-UNDO.

CREATE ttsales.
ASSIGN ttsales.t_sales = 10.

CREATE ttsales.
ASSIGN ttsales.t_sales = 1.

CREATE ttsales.
ASSIGN ttsales.t_sales = 130.

CREATE ttsales.
ASSIGN ttsales.t_sales = 2.

/* Get minimum value */
FOR EACH ttsales BY ttsales.t_sales:
    iMin = ttsales.t_sales.
    LEAVE.
END.

/* Get maximum value */    
FOR EACH ttsales BY ttsales.t_sales DESCENDING:
    iMax = ttsales.t_sales.
    LEAVE.
END.

DISPLAY iMin iMax.
相关问题