web-dev-qa-db-fra.com

Requête SQL pour obtenir toutes les publications dans leur dernier état révisé

J'exporte mes données de publications WordPress vers un outil externe * et je souhaitais écrire une requête qui obtiendrait les publications actuelles publiées à partir de la table wp_posts, mais comme la dernière révision (c.-à-d. Le dernier titre, le contenu, etc., mais avec l'original. ID du post).

select * from wp_posts where post_parent = 0;

Cela me donne tous les messages originaux, mais seulement dans l'état où ils ont été créés, sans prendre en compte les révisions. Ensuite, j'ai essayé quelque chose comme ça.

select * from wp_posts where post_parent != 0 group by post_parent;

Mais cela ne me donne que la première révision et non la dernière. J'imagine que cela exclurait également les publications qui n'ont jamais été révisées, ce qui ne fonctionne pas non plus pour moi.

Je pensais rejoindre la table ensuite et voir si je pouvais la filtrer au maximum ID pour un post_parent donné, mais je voulais savoir si quelqu'un avait déjà une solution avant d'essayer cela.

Comment puis-je obtenir tous les articles, mais avec toutes les dernières révisions appliquées? Cela doit être possible puisque le site le fait lors de l'affichage des messages.


* L'outil en question est Solr, donc je cherche à écrire une requête pour obtenir tous les champs que je veux indexer, si vous êtes curieux.

1
Kimberly W

Grâce au commentaire de @ AhmedMahdi, j'ai découvert les travaux suivants pour ma situation:

select * from wp_posts
where post_status = 'publish'
order by post_modified desc;

La condition où est nécessaire pour supprimer tous les brouillons ou les postes privés qui ne me concernent pas.

1
Kimberly W