O problema é provavelmente o uso de
%s para o nome da coluna. Isso significa que o Driver SQL tentará escapar dessa variável ao interpolá-la, incluindo aspas, o que não é o que você deseja para coisas como nomes de colunas, nomes de tabelas etc. Ao usar um valor em
SELECT , WHERE , etc., então você deseja usar %s para evitar injeções de SQL e habilitar cotações, entre outras coisas. Aqui, você só quer interpolar usando python puro. Isso também significa que nenhuma tupla de ligação é passada para o método execute.
def findmin(column):
cur = db.cursor()
sql = "SELECT MIN({0}) FROM table".format(column)
cur.execute(sql)
mintup = cur.fetchone()
Violino SQL mostrando o SQL funcionando:
https://sqlfiddle.com/#!2/e70a41/1