簡體   English   中英

如何一起計算UP票數,然后按UP票數從數據庫ORDER中選擇

[英]How to count UP votes together and then select from database ORDER by UP votes

我的網站上有投票系統,它將每個用戶的投票存儲在名為skmp_voting的表中,該數據庫中的每個記錄都有iditem_id (這是用戶投票的文章ID)和vote_value 如果用戶投票否定值為“ -1”,則vote_value取決於用戶的操作。

我有toparticles.php頁面,在這里我不會顯示熱門文章,因此那些文章的投票最多。 這是我的mysql查詢以獲得我現在擁有的熱門文章:

SELECT stories.*, skmp_votes.vote_value FROM stories 
JOIN skmp_votes ON stories.id = skmp_votes.item_id 
ORDER BY skmp_votes.vote_value DESC

它從稱為故事的其他表中選擇文章信息,並將其與skmp_votes表中的表決值相對

我非常有信心這是不對的,因為它選擇的表決值等於1或類似的值,所以我需要以某種方式將所有表決值相加,然后使用mysql查詢來獲得熱門文章。

這取決於您的投票表。 正如我想象的那樣,每次投票都有一行。 在這種情況下,您必須為與文章匹配的票數求和。

SELECT SUM(vote_value) as 'total_votes' FROM skmp_voting WHERE item_id='$article_id';

您使用SUM而不是COUNT您要從否定票中減去該值。

編輯:補充答案

以下查詢將為您提供每篇文章及其總投票,按總投票排序(頂部投票最多的文章)

SELECT stories.*, SUM(skmp_votes.vote_value) as 'total_votes' FROM stories 
  JOIN skmp_votes ON stories.id = skmp_votes.item_id 
  ORDER BY skmp_votes.total_votes DESC

要獲得5個投票最多的文章,只需在末尾添加LIMIT 5

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM