One option, of course, is to say that two similar events happened, one at the beginning of Jesus' ministry and one at the end. This is hard to maintain, however, as John frequently re-orders events from the synoptic gospels to achieve his theological point. Moreover, the descriptions of the events are very close.
So we have to ask why John chose to move it from the end of Jesus' ministry to the beginning. To me, the obvious reason is that it gives a sort of thematic/hermeneutic key to the reading of the rest of the Gospel.
First, it is a demonstration of the corruption and insufficiency of first-century Judaism. It points to the rejection of God by the nation of Israel just as they later reject Jesus.
Second, it says something about what John thinks about Jesus. The Temple was classically understood as the dwelling-place of God on earth. In the Gospel of John, that is changed: God comes to dwell in the person of Jesus Christ (cf. 1.14), who takes on the role of the Temple.
We see this in the narrative from John 2:
The Jews then said to him, ‘What sign can you show us for doing this?’ Jesus answered them, ‘Destroy this temple, and in three days I will raise it up.’ The Jews then said, ‘This temple has been under construction for forty-six years, and will you raise it up in three days?’ But he was speaking of the temple of his body. (John 2.18-21, NRSV)
This is a concern of John's that occurs later in the Gospel as well. He changes the timings of the Passion narrative so that Jesus' death on the Cross occurs as the Passover sacrifice. In this way again John points to Jesus replacing the Temple.