簡體   English   中英

SQL-如何在同一查詢中使用SUM和MAX?

[英]SQL - How to use SUM and MAX in same query?

我正在使用MySQL數據庫版本5.0.41(和PHP 5.2.6,盡管可能與該問題無關)。

我有一個名為votes的表,其中包含以下字段: iditem_idvote_value 每次用戶在網站上對某項商品投贊成票時,都會使用相應的item_id和正數(即1)創建一個新行。 當投票否定時,將創建一個具有相應item_id和一個負數(即-1)的行。 我想通過一個查詢(如果可能)選擇投票最多的item_id。 為此,我首先需要對每個單獨的item_id所有票求和(以得到38或-14這樣的數字),然后選擇該數字的最大值。 我不確定如何為此編寫查詢。

你能幫忙嗎?

謝謝!

SELECT item_id, SUM(vote_value) AS sum
FROM votes
GROUP BY item_id
ORDER BY sum DESC
LIMIT 1

您可以執行以下操作:

SELECT item_id, SUM(vote_value) AS total, COUNT(id) AS c
FROM votes
GROUP BY item_id
ORDER BY total DESC, c DESC
LIMIT 1

暫無
暫無

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

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