There are two unique identifiers for a bank account: SWIFT code + bank internal identifier, or IBAN code.
IBAN is mostly used within European banking system, and the whole code provides a direct and unique identification of the account.
SWIFT is an international network where each bank/bank branch has its own address, and account number is a metadata added to the message for the receiving bank to handle. Usually the name of the recipient and additional information are required when wiring money through the SWIFT network, to match the records and make sure there's no mistake.
Account numbers don't have to be unique, not even within the same bank. There's always something else in addition to uniquely identify them.