gpt4 book ai didi

mysql - 复杂查询 - 按最新值和 2 个其他值的平均值排序

转载 作者:行者123 更新时间:2023-11-29 07:23:11 25 4
gpt4 key购买 nike

我正在尝试按日期和平均喜欢/不喜欢排序。

图片 #1:5 个喜欢,2 个不喜欢,1 周前创建

图片 #2:5 个喜欢,2 个不喜欢,一分钟前创建

示例:如果图片#1有 5 个喜欢和 2 个不喜欢,但它是在 1 周前创建的,那么它不会显示在第一行,因为图片 #2> 的喜欢和不喜欢数量相同,但比图片 #1 更新。

这是我到目前为止所拥有的:

SELECT * FROM `pictures` GROUP BY id ORDER BY avg(likes/dislikes) desc LIMIT 10

期望的结果:

Row 1 --> Picture #2
Row 2 --> Picture #1

非常感谢您的回答。

最佳答案

order by 子句可以与多个列一起使用。

试试这个; ORDER BY avg(likes/dislikes) desc,created desc(假设created是日期列的名称)

它首先按喜欢/不喜欢的平均值对结果集进行排序,然后按创建日期对具有相同平均值的行进行排序。

@更新Sqlfiddle example

@更新2case 表达式可以在 order by 子句中使用,参见示例: Sqlfiddle example with case in order by

关于mysql - 复杂查询 - 按最新值和 2 个其他值的平均值排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35386776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com