Recientemente he encontrado que SQLite no admite DISTINCT ON()
cláusula que parece postgresql-specific. Por ejemplo, si tengo la tabla t
con las columnas a
y b
. Y quiero seleccionar todos los elementos con distinto b
. ¿Es la siguiente consulta la única y correcta forma de hacerlo en SQLite? datosCláusula DISTINCT en SQLite
select * from t where b in (select distinct b from t)
muestra:
a | b
__|__
1 5
2 5
3 6
4 6
lo que espero a cambio:
a | b
__|__
1 5
3 6
Esa consulta siempre devolverá todas las filas de t , ya que cada b en t es parte de (seleccione distinto b de t). Tal vez pueda aclarar un poco más lo que está tratando de hacer, y proporcionar algunos datos de muestra y resultados esperados. – dcp
A menos que explique por qué '(1,5)' está en su conjunto de resultados esperado mientras '(2,5)' no (y por qué es exactamente así, y no al revés), será difícil contestar. – Tomalak
Cualquier restricción hará. Mínimo, máximo, etc. Se supone que la consulta real necesitará columnas adicionales en DISTINCT solo si dichos datos tienen un significado; por ejemplo, sus columnas adicionales son las mismas para las mismas columnas DISTINCT. – grigoryvp