Comment puis-je obtenir les derniers détails de la transaction pour chaque client dans Mysql?

J'essaye de faire la transaction la plus récente pour chaque client à partir d'un de base de données Mysql où chaque client peut avoir un nombre différent d'enregistrements de transaction.

Ici la table Mysql:

Comment puis-je obtenir les derniers détails de la transaction pour chaque client dans Mysql?

Cette table, j'ai mentionné les lignes qui ont des gras (style), ces
lignes en gras sont les derniers enregistrements de transaction.Je veux que chaque client dernière transaction.

I, à l'exception de réponse est inférieur à un.

Comment puis-je obtenir les derniers détails de la transaction pour chaque client dans Mysql?

J'ai besoin de requête mysql pour cette les enregistrements sélectionnés.

  • avez-vous essayer quelque chose comme max() et ensuite l'utiliser dans la requête ?
  • Oui, vous aurez besoin d'utiliser l'agrégat Max puis par le reste des colonnes que vous souhaitez afficher
  • Comment puis-je obtenir deux derniers enregistrements de transaction pour chaque client dans la table client? Lorsque j'essaie d'obtenir les 5 derniers détails de la transaction pour chaque client, j'ai eu cette erreur #1242 - sous-Requête retourne plus de 1 rangée Requête: SELECT cus_id, tranc_amt, tranc_type, tranc_date DE cus_tranc où cus_id = (select distinct cus_id de la clientèle) COMMANDE PAR tranc_date DESC LIMIT 5
  • Salut,j'ai eu de la solution dans le dernier n de la transaction.J'ai utilisé 2 table. SÉLECTIONNEZ la clientèle.cus_id, client.cus_name, temp.tranc_date, temp.tranc_amt DE la clientèle INNER JOIN ( SELECT tB1.tranc_date, tB2.cus_id, ( SÉLECTIONNEZ tranc_amt DE cus_tranc OÙ cus_tranc.tranc_date = tB1.tranc_date ) comme tranc_amt DE cus_tranc comme tB1 REJOINDRE cus_tranc comme tB2 SUR tB1.cus_id = tB2.cus_id ET tB1.tranc_date <= tB2.tranc_date GROUPE PAR tB1.cus_id, tB1.tranc_date HAVING COUNT(*) <= 3 COMMANDE PAR cus_id, tranc_date desc ) temp SUR le client.cus_id = temp.cus_id