WordPress Duplication Post, wenn es zu Seitenumbruch kommt, wenn MySQL 5.6, 5.7 und höher verwendet wird

Hier ist das databaseverhalten https://dba.stackexchange.com/questions/169163/mysql-5-5-vs-5-6-above-same-database-same-query-but-different-output

Wenn es um Paginierung geht, tritt der Fehler auf, weil wir viele gleiche post_date Ergebnisse haben. Im normalen Blog wird das nicht passieren.

URL: http://wordpress.dev/page/2 , http: //wordpress.devpage/3

Hier ist der Screenshot der Debug-Tools Seite 2 Seite 2 Seite 3 Seite 3

SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'closed' OR wp_posts.post_status = 'private' OR wp_posts.post_status = 'hidden') ORDER BY wp_posts.post_date DESC LIMIT 10, 10 

Der Grund dafür ist, dass das Verhalten von MySQL nichtdeterministisch ist, da ORDER BY nichtdeterministische Ergebnisse liefert. Es erforderte ORDER BY wp_posts.post_date DESC, wp_posts.ID DESC, um deterministische Ergebnisse zu erhalten.

Das Fix SQL:

 SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1=1 AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'closed' OR wp_posts.post_status = 'private' OR wp_posts.post_status = 'hidden') ORDER BY wp_posts.post_date DESC, wp_posts.ID DESC LIMIT 10, 10 

Aber ich habe keine Ahnung, wo die zusätzliche wp_posts.ID DESC

Solutions Collecting From Web of "WordPress Duplication Post, wenn es zu Seitenumbruch kommt, wenn MySQL 5.6, 5.7 und höher verwendet wird"