4D v16

Utilizar funciones estadísticas

Inicio

 
4D v16
Utilizar funciones estadísticas

Utilizar funciones estadísticas  


 

 

Las funciones estadísticas permiten efectuar cálculos en una serie de valores. SQL contiene numerosas funciones  de agregación MIN, MAX, AVG, SUM, etc. Utilizando las funciones de agregación, queremos obtener información sobre el número de boletos vendidos cada año. El resultado se ordenará por año.
Para hacer esto, debemos efectuar la suma de todos los boletos vendidos para cada película y luego ordenarlos por año.

  • El código 4D inicial sería:

     C_LONGINT($vMin;$vMax;$vSum)
     C_REAL($vAverage)
     C_TEXT($AlertTxt)
     
     REDUCE SELECTION([MOVIES];0)
     $vMin:=0
     $vMax:=0
     $vAverage:=0
     $vSum:=0
     ALL RECORDS([MOVIES])
     $vMin:=Min([MOVIES]Sold_Tickets)
     $vMax:=Max([MOVIES]Sold_Tickets)
     $vAverage:=Average([MOVIES]Sold_Tickets)
     $vSum:=Sum([MOVIES]Sold_Tickets)
      `$AlertTxt:=""
      `$AlertTxt:=$AlertTxt+"Minimum tickets sold: "+Chaine($vMin)+Caractere(13)
      `$AlertTxt:=$AlertTxt+"Maximum tickets sold: "+Chaine($vMax)+Caractere(13)
      `$AlertTxt:=$AlertTxt+"Average tickets sold: "+Chaine($vAverage)+Caractere(13)
      `$AlertTxt:=$AlertTxt+"Total tickets sold: "+Chaine($vSum)+Caractere(13)
  • Utilizando código SQL:

     C_LONGINT($vMin;$vMax;$vSum)
     C_REAL($vAverage)
     C_TEXT($AlertTxt)
     
     $vMin:=0
     $vMax:=0
     $vAverage:=0
     $vSum:=0
     Begin SQL
        SELECT MIN(Sold_Tickets),
        MAX(Sold_Tickets),
        AVG(Sold_Tickets),
        SUM(Sold_Tickets)
        FROM MOVIES
        INTO :$vMin, :$vMax, :$vAverage, :$vSum;
     End SQL
      `$AlertTxt:=""
      `$AlertTxt:=$AlertTxt+"Minimum tickets sold: "+Chaine($vMin)+Caractere(13)
      `$AlertTxt:=$AlertTxt+"Maximum tickets sold: "+Chaine($vMax)+Caractere(13)
      `$AlertTxt:=$AlertTxt+"Average tickets sold: "+Chaine($vAverage)+Caractere(13)
      `$AlertTxt:=$AlertTxt+"Total tickets sold: "+Chaine($vSum)+Caractere(13)
      `ALERT($AlertTxt)
  • Utilizando comandos SQL genéricos:

     C_LONGINT($vMin;$vMax;$vSum)
     C_REAL($vAverage)
     C_TEXT($tQueryTxt)
     C_TEXT($AlertTxt)
     
     $vMin:=0
     $vMax:=0
     $vAverage:=0
     $vSum:=0
     SQL LOGIN(SQL_INTERNAL;"";"")
     $tQueryTxt:=""
     $tQueryTxt:=$tQueryTxt+"SELECT MIN(Sold_Tickets), MAX(Sold_Tickets), AVG(Sold_Tickets), SUM(Sold_Tickets)"
     $tQueryTxt:=$tQueryTxt+" FROM MOVIES"
     SQL EXECUTE($tQueryTxt;$vMin;$vMax;$vAverage;$vSum)
     SQL LOAD RECORD(SQL all records)
     SQL LOGOUT
     $AlertTxt:=""
      `$AlertTxt:=$AlertTxt+"Minimum tickets sold: "+Chaine($vMin)+Caractere(13)
      `$AlertTxt:=$AlertTxt+"Maximum tickets sold: "+Chaine($vMax)+Caractere(13)
      `$AlertTxt:=$AlertTxt+"Average tickets sold: "+Chaine($vAverage)+Caractere(13)
      `$AlertTxt:=$AlertTxt+"Total tickets sold: "+Chaine($vSum)+Caractere(13)
      `ALERT($AlertTxt)
  • Utilizando el comando EXECUTE IMMEDIATE:

     C_LONGINT($vMin;$vMax;$vSum)
     C_REAL($vAverage)
     C_TEXT($tQueryTxt)
     C_TEXT($AlertTxt)
     
     $vMin:=0
     $vMax:=0
     $vAverage:=0
     $vSum:=0
     $tQueryTxt:=""
     $tQueryTxt:=$tQueryTxt+"SELECT MIN(Sold_Tickets), MAX(Sold_Tickets), AVG(Sold_Tickets), SUM(Sold_Tickets)"
     $tQueryTxt:=$tQueryTxt+" FROM MOVIES"
     $tQueryTxt:=$tQueryTxt+" INTO :$vMin, :$vMax, :$vAverage, :$vSum;"
     Begin SQL
        EXECUTE IMMEDIATE :$tQueryTxt;
     End SQL
      `$AlertTxt:=""
      `$AlertTxt:=$AlertTxt+"Minimum tickets sold: "+Chaine($vMin)+Caractere(13)
      `$AlertTxt:=$AlertTxt+"Maximum tickets sold: "+Chaine($vMax)+Caractere(13)
      `$AlertTxt:=$AlertTxt+"Average tickets sold: "+Chaine($vAverage)+Caractere(13)
      `$AlertTxt:=$AlertTxt+"Total tickets sold: "+Chaine($vSum)+Caractere(13)
      `ALERT($AlertTxt)

Para probar todos los ejemplos anteriores, lance la base "4D SQL Code Samples" y vaya a la ventana principal. A continuación, puede elegir el modo de búsqueda y presionar el botón Using Aggregate functions.

 
PROPIEDADES 

Producto: 4D
Tema: Tutorial

 
HISTORIA 

 
ARTICLE USAGE

Manual de SQL ( 4D v16)