La clause DISTINCT dans SQLite

Récemment, j'ai trouvé que SQLite ne prennent pas en charge DISTINCT ON() clause qui semble postgresql. Par exemple, si j'ai de la table t avec des colonnes a et b. Et je veux sélectionner tous les éléments distincts b. Est la requête suivante la seule et bonne façon de le faire dans SQLite?

select * from t where b in (select distinct b from t)

Des données de l'échantillon:

a | b
__|__
1   5
2   5
3   6
4   6

Ce que j'attends en retour:

a | b
__|__
1   5
3   6
Cette requête retournera toujours toutes les lignes à partir de t, puisque chaque b dans t est une partie de (select distinct de b à partir de t). Peut-être vous pouvez préciser un peu plus ce que vous essayez de faire, et de fournir des données de l'échantillon et les résultats attendus?
À moins que vous expliquer pourquoi (1,5) est dans votre résultat attendu de l'ensemble tout en (2,5) n'est pas (et pourquoi c'est exactement de cette manière, et non l'inverse), cela va être difficile de répondre.
Tout constrait fera. Le Minimum, le maximum, etc. Supposé que réel de requête auront besoin de plus d'colonnes DISTINCTES que si de telles données n'a de sens - par exemple, des colonnes supplémentaires sont les mêmes pour les mêmes colonnes DISTINCTES.

OriginalL'auteur grigoryvp | 2010-06-14