Bonjour,
j'ai du mal à combiner distinct et order by dans une seule requête, quand chacun concerne un champ différent.

Voici un peu de code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
create table ligne_usinage (
    um char(10) NOT NULL,
    uc char(10) NOT NULL,
    quand datetime default (getdate()),
    sceau timestamp
)
go
 
insert ligne_usinage (um, uc) values ('S456789123', 'M987654321');
insert ligne_usinage (um, uc) values ('S345678912', 'M987654321');
insert ligne_usinage (um, uc) values ('S234567891', 'M987654321');
insert ligne_usinage (um, uc) values ('S123456789', 'M987654321');
insert ligne_usinage (um, uc) values ('S567891234', 'M987654321');
insert ligne_usinage (um, uc) values ('S678912345', 'M876543219');
insert ligne_usinage (um, uc) values ('S123456789', 'M987654321');
insert ligne_usinage (um, uc) values ('S234567891', 'M876543219');
 
select distinct uc from ligne_usinage where um like 'M987654321' order by sceau desc
go
je souhaite obtenir comme résultat :
S456789123
S345678912
S234567891
S123456789
S567891234

c'est-à-dire toutes les valeurs distinctes d'UC, triés par timestamp par ordre décroissant, qui sont dans l'UM 'M9x'

Mais cette requête me retourne toujours les UC triés par ordre alphabétique. J'ai l'impression que soit j'ai le distinct, soit j'ai l'order by. Il n'y pas moyen de combiner les deux en une requête SQL ?
Il y a aussi un where sur l'UM, mais je pense que ça ne me posera pas problème.