'dan Maksimum Sınır 1'i seçin. Web sayfası önbellek sistemi yapıyorum. Çıktı ile birlikte basit bir sayfa sıralama sistemi yapmak istedim. Sorun şu ki, kayıt kümesini benzersiz alan başına en yüksek alaka düzeyiyle göstermek istiyorum. Bir alan adında birden fazla kayıt olabilir, ancak farklı başlıklar, açıklamalar vb. Olabilir. Sorun, benzersiz bir etki alanı içeren 1 kayıt kümesi almak yerine, söz konusu benzersiz alanın tüm kayıt kümelerini gruplandırır ve hepsini çıkış olarak verir.Grup
domain1 title html
domain1 title html
domain1 title html
domain2 title html
domain2 title html
domain2 title html
: ben alıyorum (o grup için en yüksek alaka ve farklı domain)
SELECT title, html, sum(relevance) FROM
(
SELECT title, html, 10 AS relevance FROM page WHERE title like ‘%about%’ UNION
SELECT title, html, 7 AS relevance FROM page WHERE html like ‘%about%’ UNION
SELECT title, html, 5 AS relevance FROM page WHERE keywords like ‘%about%’ UNION
SELECT title, html, 2 AS relevance FROM page WHERE description like ‘%about%’
) results
GROUP BY title, html
ORDER BY relevance desc;
sonraki çıkışı önce sadece grup başına benzersiz etki alanı başına en yüksek alaka skoru recordset istiyorum
istediğim şey, sen gerektiğini düşünüyorum çünkü ben, senin kod bile çalışır neden emin değilim
domain1 title html
domain2 title html
domain3 title html
domain4 title html
domain5 title html
Bunu hangi şekilde yaparsam yapay sütun 'alaka düzeyi' – Patriotec
@kinjite olsun: Buradaki "alaka düzeyi" WHERE ifadesinde başvurulan bir sütun diğer adıdır. SQL Server, GROUP BY'deki sütun takma adlarını başvuruyor, ancak WHERE –
@OMG Ponies: veya doğru şekilde çağırıyorsa, ORDER BY değerini desteklemiyor. Bunu düzeltmek için cevabı düzenledim. Çok çirkin ama işe yarayacak. Bu hack'i daha önce kullandım. –