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:
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.
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
Vous devez vous connecter pour publier un commentaire.
Vous aurez envie de prendre le
MAX
de votre date de transaction la plus récente de la transaction. Comme c'est une fonction d'agrégation, vous aurez également besoin deGROUP BY
votrecus_id
. Ce résultat vous donne ensuite la dernière date possible pour un client de sorte que vous pouvez ensuite rejoindre le reste des données de la contre quecus_id
ettranc_date
combinaison.La requête devrait ressembler à quelque chose comme ceci:
Vous pouvez voir les résultats de cette ce SQL Violon.