Cómo encontrar la longitud de la matriz en PostgreSQL?

Cómo encontrar la longitud de la matriz en PostgreSQL?
PostgreSQL agregó la función de "array_length" en el 8.4 versión. El "array_length" devuelve la longitud de una dimensión de matriz. Las matrices son muy útiles para la agregación y el almacenamiento de datos para la lista más pequeña. PostgreSQL le permite crear matrices de cualquier tipo de datos, incluido el tipo incorporado, un tipo definido por el usuario y matrices multidimensionales, pero PostgreSQL no permite que se admite una matriz de dominios.

También hay otros tipos de datos si está creando una tabla usando PGADmin. En este artículo, aprenderá cómo puede encontrar una longitud de matriz en PostgreSQL en Windows 10 con la ayuda de algunos ejemplos.

Sintaxis

La sintaxis para encontrar una longitud de matriz es:

# array_length (column_name, int)

En la sintaxis anterior, la "array_length" devuelve la longitud de su "column_name" deseado que está escrito en primer lugar. El "int" en segundo lugar menciona qué dimensión de la matriz se está mediante.

Array_length en postgresql

Para encontrar una longitud de matriz, debe crear una tabla en PostgreSQL, ya sea utilizando la herramienta Pgadmin o SQL Shell. He creado una tabla llamada "Comestibles" que comprende tres columnas. La sintaxis para crear una tabla es:

# Crear comestibles de tabla ("id" entero no nulo, "persona" personaje que varía (100), "elementos" carácter variable [255], clave primaria ("id"));

En la consulta anterior, como su nombre indica, "Crear tabla" crea la tabla con el nombre de "Comestibles" que se compone de tres columnas diferentes llamadas "ID", "Persona" y "Artículos". Con cada nombre de columna, se declaran sus tipos de datos, los "elementos" se declaran como un tipo de matriz usando [], lo que indica que queremos el tipo de datos como una matriz. Aquí "ID" se establece como la clave principal en una tabla. Después de crear la tabla "Comestibles", los datos para cada columna se insertan de acuerdo con sus respectivos tipos de datos. La mesa de "comestibles" ahora se ve así

En la columna "ID" a cada persona se le asigna un número y nombre en la columna "persona". En la columna de "artículos", se mencionan esos artículos que cada persona ha comprado. Todos los elementos son unidimensionales, excepto el donde id = 7, se expresa como una matriz multidimensional.

Ahora que se crea la tabla, ejecutemos algunos ejemplos para encontrar la longitud de una matriz en la mesa de "comestibles".

# Seleccione "ID", "Persona", "Elementos", Array_Length ("Elementos", 1) de "Comestibles";

En la consulta anterior, la instrucción "Seleccionar" es seleccionar todas las columnas mencionadas, incluidas "ID", "Persona", "Elementos". La función "array_length" que está tomando dos parámetros "ítems" y "1" significa que quiere medir la longitud de la columna "ítems" y "1" describe la dimensión de que se está midiendo la matriz. La consulta anterior muestra la siguiente salida:

La salida anterior muestra la longitud de la matriz de cada artículo que una persona ha comprado. Como podemos ver que los datos no están en un orden particular, la longitud de 3 elementos se muestra primero, y 1 elemento se muestra al final, porque la instrucción SELECT devuelve la columna de una manera sin clasificar.

Array_length usando pedido por en postgresql

En el ejemplo anterior, hemos visto la longitud de una matriz en el resultado no se ordenó. Podemos ordenar la columna fácilmente usando la cláusula "Orden por", ya sea en orden descendente o ascendente, ejecutando la siguiente consulta:

# Seleccione "ID", "Persona", "Elementos", Array_Length ("Elementos", 1) del pedido de "Comestibles" por Array_Length ("Elementos", 1) Desc;

En la consulta anterior, la cláusula "Orden por" ha ordenado las filas en orden descendente como se muestra en la siguiente salida:

Se puede ver claramente que la cláusula "Orden por" ha ordenado la columna "ítem" en orden descendente como mencionamos en la consulta. Del mismo modo, también podemos ordenar la longitud de la columna de "ítems" en orden ascendente, pero esta vez usaré un alias para la columna "array_length" para que no tenga que repetirlo con la cláusula "Orden por". La consulta para clasificar la columna en orden ascendente es:

# Seleccione "ID", "Persona", "Elementos", Array_Length ("Elementos", 1) Len_ascending de la orden "Comestibles" por Len_ascending ASC;

En la consulta anterior, he declarado el alias como "Len_ascending" y la columna se clasifica en orden ascendente que proporciona la siguiente salida:

En la salida anterior, se puede ver el alias utilizado y la columna se clasifica en orden ascendente utilizando la cláusula "Orden por" y la función "ASC" en la consulta.

Devolviendo máxima array_length en postgresql

Si solo desea la longitud máxima de una matriz en una columna, puede limitar el resultado utilizando la cláusula "límite" en su consulta con la cláusula "Orden por". La cláusula de "límite" devolverá solo el número de filas que ha mencionado. La consulta para devolver solo la longitud de matriz máxima en PostgreSQL es:

# Seleccione "ID", "Persona", "Elementos", Array_Length ("Elementos", 1) del pedido de "comestibles" por array_length ("items", 1) DESC LIMIT 1;

En esta consulta, la cláusula "Orden por" y "Limite" devuelve la longitud de matriz máxima en la columna "ítems". La cláusula "Orden por" y la función "DESC" están devolviendo el valor más alto de la columna "items" y la cláusula "Límite" está devolviendo solo la 1 fila como se menciona en una consulta, y el resultado se muestra como:

La persona que compró el número máximo de artículos es "Catherine" con una longitud de matriz de 6.

También puede encontrar a la persona con los elementos mínimos de comestibles utilizando la función "ASC" en lugar de la función "Desc" y también puede limitar las filas a más de 1.

Array_length usando where cláusula

Si desea encontrar la longitud de la matriz de un elemento de persona en particular, entonces la cláusula "Where" lo ayudará a encontrar ese registro. La cláusula "Dónde" filtra las filas de acuerdo con la condición que ha establecido. A continuación se muestra la consulta de "Array_Length" usando la cláusula "Where":

# Seleccione "ID", "Persona", "Elementos", Array_Length ("Elementos", 1) de "Comestibles" donde "Persona" = 'Barry';

En la consulta anterior, he especificado la condición que encuentra la longitud de la matriz de la tabla "comestibles" donde el nombre de la persona es Barry, lo que da el siguiente resultado:

La salida muestra que Barry compró dos artículos que aparecieron en la última columna "Array_Length".

Conclusión

Hemos discutido cómo podemos encontrar la duración de una matriz en PostgreSQL utilizando diferentes ejemplos. PostgreSQL lo hace menos complicado para usar matrices en una consulta y encontrar la longitud de una columna usando solo la sintaxis simple array_length (column_name, int).

El "array_length" en esta sintaxis devuelve la longitud de una matriz del primer argumento i.mi., column_name, y "int" le indica la dimensión de la matriz medida. Resumiendo, la longitud de la matriz se puede medir fácilmente con diferentes funciones y cláusulas también.