Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak uzyskać wiersze z sumą równą podanej wartości?

Problem, który chcesz rozwiązać, nazywa się suma podzbioru problem. Niestety jest to NP-complete .

Oznacza to, że bez względu na to, czy do jego rozwiązania użyjesz SQL, czy innego języka, będziesz w stanie rozwiązać tylko bardzo małe przypadki problemu, tj. takie, które mają tylko kilka wpisów w tabeli. W przeciwnym razie środowisko uruchomieniowe stanie się nadmierne, ponieważ rośnie wykładniczo wraz z liczbą wierszy w tabeli. Powodem tego jest to, że zasadniczo nie ma lepszego sposobu na znalezienie rozwiązania niż wypróbowanie wszystkich możliwych kombinacji.

Jeśli przybliżone rozwiązanie jest akceptowalne, istnieje wielomianowy algorytm czasu, który jest opisany na stronie Wikipedii.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Budowanie dynamicznej klauzuli WHERE w procedurze składowanej

  2. Dlaczego moje lewe złącze t-sql nie działa?

  3. znajdź brakujące wpisy dla dni roboczych i wypełnij wiersz wartościami z najbliższej daty

  4. Jak uwzględnić całkowitą liczbę zwróconych wierszy w zestawie wyników z polecenia SELECT T-SQL?

  5. Przegląd typów złączeń SQL wraz z przykładami