Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да отрежете дублиращи се асоциации, за да получите уникален най-пълен набор

Проблемът е еквивалентен на намирането на максимално съвпадение в двустранна графика . Всеки елемент на колона представлява връх, всеки ред представлява ръб. Свързаната статия в Wikipedia предоставя някои указания за алгоритми за решаване на този проблем. Има имплементация на унгарския алгоритъм в библиотеката or-tools на Google .

Ето дадения пример, формулиран като графика, с червени ръбове, представляващи даденото решение:

За мен би било изненадващо, ако можете да намерите решение само в SQL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL рекурсивна заявка, която получава всички предшественици на елемент

  2. Как да извлечете определен n-ти знак от низ в SQL

  3. Как да управлявате огромно количество данни с помощта на файлов поток, тъй като само локални пътища се поддържат за съхранение на данни?

  4. Уникален ключ срещу уникален индекс на SQL Server 2008

  5. CONCAT_WS() за SQL Server