Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So erhalten Sie Zeilen, deren Summe dem angegebenen Wert entspricht

Das Problem, das Sie lösen möchten, heißt Teilmengensumme Problem. Leider ist es NP-complete .

Das bedeutet, dass Sie, egal ob Sie SQL oder eine andere Sprache verwenden, um es zu lösen, nur sehr kleine Instanzen des Problems lösen können, d. h. solche mit nur wenigen Einträgen in der Tabelle. Andernfalls wird die Laufzeit unverhältnismäßig groß, da sie exponentiell mit der Anzahl der Zeilen in der Tabelle wächst. Der Grund dafür ist, dass es im Grunde keinen besseren Weg gibt, die Lösung zu finden, als alle möglichen Kombinationen auszuprobieren.

Wenn eine Näherungslösung akzeptabel ist, gibt es einen Polynomzeitalgorithmus, der auf der Wikipedia-Seite beschrieben wird.