The BJP and the AAP have won one seat each in the Gujarat Assembly by-elections, while the Congress-led UDF has won the Nilambur constituency in Kerala. The counting of votes for bypolls -- that were held on June 19 for two seats in Gujarat's Visavadar and Kadi, and one each in Nilambur, Punjab's Ludhiana West, and West Bengal's Kaliganj -- began Monday morning.