0
votes

SQL récupérez toutes les lignes entre deux dates et un nombre spécifique de lignes avant la date ordonnée par date

Comme le dit le titre, j'ai une table avec une colonne de date. J'essaie de récupérer toutes les lignes entre 2 dates ainsi que x nombre de lignes avant la date de début de la date d'ordre.

Prendre un SELECT * À partir de la commande de table par date DSC P>

(SELECT * FROM Table WHERE Date BETWEEN 20200201 AND 20191201 ORDER BY Date ASC)
UNION
(SELECT * FROM Table WHERE Date < 20191201 ORDER BY Date DESC LIMIT 3)


4 commentaires

Combien de lignes de résultats obtenez-vous? VOTRE «DATE ENTRE-TO-CODITIONS SEMEZ-MOIME, qui devrait vous donner 0 résultats, Seuls 3 rangs de résultats de la partie inférieure de la jointure. S'il vous plaît être des ware, je n'ai jamais utilisé Postgres SQL cependant.


Désolé c'est mysql. J'ai changé entre les dates et cela a vraiment changé la requête pour le pire. Il m'a donné une partie du premier sélection et 1 de la seconde sélection


Ajouter une commande à la fin, pour trier le résultat de l'Union. (La commande de résultats de résultats d'une sous-requête n'est pas conservée en dehors de la sous-requête.) Et peut-être passer à l'union tout.


Désolé pris si longtemps pour revenir. Le problème était que Jarlh a souligné, l'ordre de la sous-requête n'a pas été gardé (c'est pourquoi les choses ont été mêlées) et une commande simple par l'ensemble de l'Union résolue. Je n'ai pas essayé la réponse de Gordon comme cela résolvait mon problème


3 Réponses :


0
votes

J'ai essayé cette requête et ça a fonctionné pour moi: xxx

La première sélection montre moi: xxx

La seconde sélection montre moi : xxx


2 commentaires

Oui Les deux requêtes Sélectionnez ce que je veux, et je peux les ajouter de manière programmatique mais je voudrais l'obtenir juste de la requête.


Désolé @james, je ne comprends pas bien votre problème. L'Union fonctionne bien pour moi. Je reçois ces six rangées. Pourriez-vous offrir plus de détails sur votre problème? Remarque: Veuillez noter que j'ai commuté vos dates de paramètres dans la première requête.



0
votes

une méthode utilise plomb () : xxx


0 commentaires

0
votes

Le problème était que Jarlh a souligné, l'ordre de la sous-requête n'a pas été gardé (c'est pourquoi les choses ont été préparées) et une commande simple par l'ensemble de l'Union résolue. Je n'ai pas essayé la réponse de Gordon en tant que résolution de mon problème, donc: xxx

merci


0 commentaires