[MySQL] Order by & Limit questions.
Bonjour à tous !!
J'ai une question à vous poser ! :D
J'ai une table comme ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
CREATE TABLE T_STATUS_CHANGE (
CXR_ID INTEGER NOT NULL,
CXRSTAT_CHANGE_DATE TIMESTAMP NOT NULL,
CXRSTAT_STATUS TINYINT NULL
) TYPE=INNODB;
ALTER TABLE T_STATUS_CHANGE ADD UNIQUE STATUS_CHANGE_IDX (CXR_ID, CXRSTAT_CHANGE_DATE);
CREATE INDEX IND_STATUS_CHANGE ON T_STATUS_CHANGE
(
CXR_ID ,
CXRSTAT_CHANGE_DATE
); |
Déjà, sommes nous d'accord sur le fait que l'ajout d'une contrainte unique + création d'un index est inutile ? Un seul suffirait ou y'a-t-il une astuce qui m'échappe??
Bref, à part ce détail je tente d'écrire une requête :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
select s.*
from T_STATUS_CHANGE s
where s.cxrstat_change_date <= '2009-11-04 07:45:23.0'
and (
s.cxr_id = 5664
or s.cxr_id = 5649
or s.cxr_id = 5668
or s.cxr_id = 5645
or s.cxr_id = 1033
or s.cxr_id = 1034
or s.cxr_id = 1049
)
order by s.cxrstat_change_date desc, s.cxr_id |
Le select * n'est là que pour l'exemple (je sais que c'est mal ^^ et qu'il faut spécifier tous les champs).
Bref cette requête me retourne bien ce que je veux MAIS je ne voudrais qu'elle me retourne qu'une seule ligne PAR s.cxr_id différent !!
En gros pour le moment elle peut me retourne un truc du style :
Citation:
CXR_ID - CXRSTAT_CHANGE_DATE - CXRSTAT_STATUS
1 Date1 0
1 Date2 1
2 Date3 0
3 Date4 1
(les identifiants ne correspondent pas... c'est juste pour l'exemple :) )
Mais comme vous pouvez le voir, j'ai 2 lignes ou la valeur '1' pour la colonne CXR_ID apparait. J'aimerais n'avoir qu'une seule ligne par CXR_ID, auriez vous une piste à me donner, je sèche :'(
D'avance merci !!