Lots of ways of doing this really. You're probably going to need a new table though
User (ID, First_Name, Last_Name, email)
Passwords (ID, UserID, Password, Active (bit))
User
1 | John | Doe | me@here.com
Password
1 | 1 | hello | 0
2 | 1 | world | 1
So User 1, Joe, has a current password of "world" and a previous password of "hello". You'll probably want a date field on that Password too which shows when the password was created. To get the current password you just JOIN User with Password
SELECT * FROM [User] u JOIN [Password] p on p.UserID = u.ID and p.Active = 1
That method would need an index on the UserID column of the Password table. The alternative would be like this
User (ID, First_Name, Last_Name, email, PasswordID)
Passwords (ID, UserID, Password)
User
1 | John | Doe | me@here.com | 2
Password
1 | 1 | hello
2 | 1 | world
Then to get the password you'd JOIN the Password table on the PasswordID on User. With either method you'd then simply check old passwords when creating new ones, and if their history exceeds 5 delete any beyond the fifth.
Also I hope you are encrypting your passwords and not storing them in plain text.