J'ai une table comme suit:MySQL requête complexe besoin suggestion
id | sender | receiver | time
1 | [email protected] | [email protected] | 2014-07-04 22:50:16
2 | [email protected] | [email protected] | 2014-07-04 22:51:20
3 | [email protected] | [email protected] | 2014-07-04 22:51:41
4 | [email protected] | [email protected] | 2014-07-04 22:52:45
5 | [email protected] | [email protected] | 2014-07-04 22:52:58
6 | [email protected] | [email protected] | 2014-07-04 22:53:33
7 | [email protected] | [email protected] | 2014-07-04 22:55:53
Je veux obtenir émetteur/récepteur distinct qui a une entrée avec commande '[email protected]' par le temps desc. Ainsi, la sortie sera comme ci-dessous
id | sender | receiver | time
6 | [email protected] | [email protected] | 2014-07-04 22:53:33
7 | [email protected] | [email protected] | 2014-07-04 22:55:53
Je suis en train avec cela, mais ne fonctionne pas correctement
SELECT *
FROM (
SELECT *
FROM `message`
ORDER BY `time` DESC
) AS `message`
WHERE (
message.sender = '[email protected]'
OR message.receiver = '[email protected]'
)
GROUP BY message.receiver, message.sender
S'il vous plaît me guider dans le bon sens pour atteindre mon objectif.
Donc vous voulez la ligne la plus récente où sender = felix et la rangée la plus récente où le récepteur est felix? Vous pouvez le faire avec UNION. – Strawberry