Houston became the first team in the majors this year to lose 81 games, the milestone that ensures a club will not have a winning record.
The Astros lost 100 games last year for the first time in their half century of baseball and they appear on their way to another such season in 2012.
Houston managed only one run on 11 hits.
Miley drove in a run with a sacrifice bunt to open the Arizona scoring in the fifth. The Diamondbacks came up with RBI doubles from Chris Young in the fifth and Paul Goldschmidt in the eighth.
The loss went to Dallas Keuchel (1-5), who gave up only two runs on four hits in 6 2/3 innings. Houston has lost four out of five.