ClickHouse/docs/es/sql-reference/statements/select/distinct.md
Ivan Blinkov cd14f9ebcb
SQL reference refactoring (#10857)
* split up select.md

* array-join.md basic refactoring

* distinct.md basic refactoring

* format.md basic refactoring

* from.md basic refactoring

* group-by.md basic refactoring

* having.md basic refactoring

* additional index.md refactoring

* into-outfile.md basic refactoring

* join.md basic refactoring

* limit.md basic refactoring

* limit-by.md basic refactoring

* order-by.md basic refactoring

* prewhere.md basic refactoring

* adjust operators/index.md links

* adjust sample.md links

* adjust more links

* adjust operatots links

* fix some links

* adjust aggregate function article titles

* basic refactor of remaining select clauses

* absolute paths in make_links.sh

* run make_links.sh

* remove old select.md locations

* translate docs/es

* translate docs/fr

* translate docs/fa

* remove old operators.md location

* change operators.md links

* adjust links in docs/es

* adjust links in docs/es

* minor texts adjustments

* wip

* update machine translations to use new links

* fix changelog

* es build fixes

* get rid of some select.md links

* temporary adjust ru links

* temporary adjust more ru links

* improve curly brace handling

* adjust ru as well

* fa build fix

* ru link fixes

* zh link fixes

* temporary disable part of anchor checks
2020-05-15 07:34:54 +03:00

64 lines
2.2 KiB
Markdown

---
machine_translated: true
machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd
---
# Cláusula DISTINCT {#select-distinct}
Si `SELECT DISTINCT` se especifica, sólo las filas únicas permanecerán en un resultado de consulta. Por lo tanto, solo quedará una sola fila de todos los conjuntos de filas completamente coincidentes en el resultado.
## Procesamiento nulo {#null-processing}
`DISTINCT` trabaja con [NULL](../../syntax.md#null-literal) como si `NULL` Era un valor específico, y `NULL==NULL`. En otras palabras, en el `DISTINCT` resultados, diferentes combinaciones con `NULL` se producen sólo una vez. Se diferencia de `NULL` procesamiento en la mayoría de los otros contextos.
## Alternativa {#alternatives}
Es posible obtener el mismo resultado aplicando [GROUP BY](group-by.md) en el mismo conjunto de valores especificados como `SELECT` cláusula, sin utilizar ninguna función agregada. Pero hay pocas diferencias de `GROUP BY` enfoque:
- `DISTINCT` se puede aplicar junto con `GROUP BY`.
- Cuando [ORDER BY](order-by.md) se omite y [LIMIT](limit.md) se define, la consulta deja de ejecutarse inmediatamente después de que se haya leído el número requerido de filas diferentes.
- Los bloques de datos se generan a medida que se procesan, sin esperar a que finalice la ejecución de toda la consulta.
## Limitacion {#limitations}
`DISTINCT` no se admite si `SELECT` tiene al menos una columna de matriz.
## Ejemplos {#examples}
ClickHouse admite el uso de `DISTINCT` y `ORDER BY` para diferentes columnas en una consulta. El `DISTINCT` cláusula se ejecuta antes de `ORDER BY` clausula.
Tabla de ejemplo:
``` text
┌─a─┬─b─┐
│ 2 │ 1 │
│ 1 │ 2 │
│ 3 │ 3 │
│ 2 │ 4 │
└───┴───┘
```
Al seleccionar datos con el `SELECT DISTINCT a FROM t1 ORDER BY b ASC` consulta, obtenemos el siguiente resultado:
``` text
┌─a─┐
│ 2 │
│ 1 │
│ 3 │
└───┘
```
Si cambiamos la dirección de clasificación `SELECT DISTINCT a FROM t1 ORDER BY b DESC`, obtenemos el siguiente resultado:
``` text
┌─a─┐
│ 3 │
│ 1 │
│ 2 │
└───┘
```
Fila `2, 4` se cortó antes de clasificar.
Tenga en cuenta esta especificidad de implementación al programar consultas.