À l'aide distinctes sur une colonne et faire commande par sur une autre colonne donne une erreur

J'ai une table:
abc_test avec des colonnes n_num, k_str.

Cette requête ne fonctionne pas:

    select distinct(n_num) from abc_test order by(k_str)

Mais celui-ci fonctionne:

    select n_num from abc_test order by(k_str)

Comment DISTINCTES et de l'ORDRE, PAR mots clés, en interne, que la sortie des deux requêtes est changé?

Pourriez-vous montrer le résultat si vous exécutez ces deux requêtes? La première requête doit renvoyer une erreur ORA-01791: not a SELECTed expression comme le k_str colonne n'est pas sélectionné. Est-ce le réel de la requête que vous avez exécuté? (Il peut être acceptable dans 9i, mais je ne peux pas en être sûr.)
Même effet sur SQL Server, mais avec un message d'erreur plus descriptif, "COMMANDE PAR éléments doivent apparaître dans la liste de sélection si SELECT DISTINCT est spécifié."

OriginalL'auteur prateek gupta | 2012-01-18