Frage

Ich versuche, eine SQL-Funktion für die Herstellung einer Popularität Algorithmus zu schreiben.

Ich möchte „Beiträge“ durch die Menge an Kommentaren in „Kommentaren“ mit dem „post_id“ der Post sortieren, zu der Menge der Stimmen in der „Stimmen“ Tabelle mit dem „post_id“ der Post , die alle von „Datum“ in der „Beiträge“ Tabelle sortiert (ein Zeitstempel).

Ich bin mir nicht sicher, wie tun, diesen Multi-Table gehen sortieren, so dass ich für einige Hinweise bin Annäherung!

Vielen Dank im Voraus, Will.

War es hilfreich?

Lösung

Ich habe nicht getestet, aber es kann funktionieren:

SELECT `post_id`, COUNT(`post_id`) AS `count` FROM `comments` GROUP BY `post_id`

Und zusätzlich können Sie es mit dem Pfosten Join-Tabelle:

SELECT * FROM `posts` LEFT JOIN (SELECT `post_id`, COUNT(`post_id`) AS `count` FROM `comments` GROUP BY `post_id`) AS `p` ON(`post_id`)

Andere Tipps

habe ich beschlossen, auf den „Abstimmung“ count nur basierend zu gehen.

SELECT posts.id, posts.date, COUNT(votes.id) AS votePerPost FROM posts,votes WHERE posts.id = votes.post_id GROUP BY posts.id ORDER BY posts.date DESC, votePerPost ASC

, weil es ein eng genug Beispiel ist. Von dem, was ich suchte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top