"Everyone is happy it's done," said slugger Giancarlo Stanton, one of the team's few bright spots. "It wasn't a great year for all of us as a whole."
With a crowd of 27,418 for the finale, the Marlins drew more than 2.2 million fans, 12th-best in the NL but their highest total since 1997.
The Mets were hardly a long-ball team this season, but they showed some muscle at the end. Hairston reached the 20-homer milestone for the first time. Andres Torres hit his third.
Wright went 0 for 2 before leaving the game and finished at .306 with 21 homers and 93 RBIs.
"It's tough to evaluate yourself the way you finished as a team," he said. "At some point I'll look back and be proud of what I was able to accomplish. Now is not the time for that."
Davis, whose average dipped to .158 in June, ended up at .227 with 90 RBIs.
"You look at the power numbers and RBI numbers, and I'm there," he said. "But I don't consider myself a .220 hitter. Hopefully I get a chance to prove next year that I can do better."
New York's Lucas Duda was hit in the back of the helmet by a 79-mph curve from Dan Jennings in his final at-bat. Duda was taken out of the game, but after the game said he was fine.
NOTES: The Mets finished 12-6 against Miami and tied a franchise record for most victories in a year against the Marlins, set in 2001. ... The Mets improved to 79-79 in Miami. ... The roof at the Marlins' new ballpark was open for eight of 81 games, and only once after June 13. ... The Mets' Bobby Parnell, who earned his seventh save, didn't allow a run in his final 11 1-3 innings.