ничего не понял
у вас есть первая строка с 48ю нулями и так до последней строки с 48 единицами, таким образом вы переберете все варианты по битовой маске, представьте сколько вариантов
нет никакой ложки. я мыслю категориями SQL, внутри и так та самая математика, о которой вы говорите, остается лишь задекларировать, что вы хотите, а субд сделает все за вас оптимально. :)