-1
votes

Comment tirer des données de la table de base de données pour le mois précédent seulement

Je souhaite montrer des enregistrements pour le mois précédent uniquement, à l'exclusion des dates de ce mois-ci.Pour exemple, aujourd'hui est le 5 février et je souhaite montrer des enregistrements pour le 1er janvier au 31 janvier

J'ai une table- tbl_order_détails où j'ai besoin d'aller chercher tous les enregistrements de commande par mois et mois précédent respectivement. Le nom de la colonne pour le type de date est OrderDate C'est ce que je fais pour chercher des lignes pour la date de mois à jour actuelle: xxx

mais je ne peux pas comprendre Comment afficher des enregistrements pour janvier qui n'inclut aucun enregistrement de février


4 commentaires

Pouvez-vous s'il vous plaît mettre un exemple de commission pour que nous puissions lire et vous fournir une sorte d'aide?


Vous pouvez écrire SQL dans PHP, ce qui vous donnera un résultat pour le mois précédent, vous pouvez utiliser la fonction StrtOTIME et Date ensemble pour appliquer la clause où.


S'il vous plaît fournir votre code? Combien avez-vous essayé et où vous avez frappé. Plus utile de déboguer pour nous


J'ai une table- "tbl_order_details" où j'ai besoin d'aller chercher tous les enregistrements de commande par mois et mois précédent respectivement. Le nom de la colonne du type de date est "OrderDate" C'est ce que je fais pour chercher des lignes pour une date de mois à jour actuelle: Sélectionnez Compte (1) à partir de Tbl_order_Détails MARCHANTCODE = ' $ user_code'and mois ( orderdate ) = mois (actuel_date ()) et année ( orderdated ) = année (actuel_date ()) mais je ne peux pas comprendre comment puis-je montrer comment montrez-vous Records de janvier qui n'inclut aucun enregistrement de février


3 Réponses :


4
votes
SELECT * FROM tbl_order_details
    WHERE YEAR(orderDate) = YEAR(CURRENT_DATE - INTERVAL 1 MONTH)
    AND MONTH(orderDate) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH)

0 commentaires

1
votes

Évitez d'utiliser la date (), le mois (), la journée (), l'année (), le substruisant (), la gauche (), la droite (), comme lorsque vous mentionnez des colonnes dans ou que vous n'utilisez plus les index qui existent dans les colonnes mentionnées. EX: Où année (OrdonnanceDate) = ... Évitez de le faire pour les raisons indiquées ci-dessus.

Je suggère d'utiliser comme suit ...

Si votre "ordonnance" La colonne est de type date, faites comme suit: xxx

retournera le premier jour du mois précédent xxx

retours le dernier jour du mois précédent xxx


0 commentaires

1
votes

Pour écrire un code PHP, vous pouvez obtenir le mois et l'année de PHP elle-même en utilisant la fonction STRTOTIME CODE> en fonction de l'entrée de votre table et de la formater ensuite dans votre requête SQL. Pour EG.:

<?php
$query_get = 'SELECT * FROM tbl_order_details WHERE YEAR(orderDate) = YEAR(CURRENT_DATE - INTERVAL 1 MONTH) AND MONTH(orderDate) = MONTH(CURRENT_DATE - INTERVAL 1 MONTH)'
?>
P, et autre passe $ Query_get code> à votre requête de DB pour récupérer le résultat requis. Ou bien, vous pouvez pousser directement la requête suivante comme @ @rohit suggéré ci-dessus. P> xxx pré> p>


0 commentaires