问题
我的数据库有50个条目,它有3列名为favourites
,timestamp
和comments
。使用这3个值我需要获得一些限制的数据。如果总和后有10行comments
,favourites
和timestamp
今天 ,那么今天应该提取限制为20的查询' s前10名帖子和昨天的前10名帖子。我已经做了以下查询。
SELECT post_id, (comments + favourites) AS rank FROM post GROUP BY post_id ORDER BY rank DESC LIMIT 20
我该如何解决这个问题?
我的更新查询
SELECT post.*, (no_of_comments + no_of_favourites) AS rank
FROM post
GROUP BY post_id
ORDER BY rank DESC, timestamp LIMIT 10
+---------+----------------------------+------+
| post_id | timestamp | rank |
+---------+----------------------------+------+
| 8 | 2016-08-29 15:32:26.000000 | 346 |
| 14 | 2016-08-29 15:33:23.000000 | 178 |
| 11 | 2016-08-29 15:33:05.000000 | 98 |
| 10 | 2016-08-29 15:32:38.000000 | 88 |
| 12 | 2016-08-29 15:33:10.000000 | 87 |
| 6 | 2016-08-29 15:32:12.000000 | 84 |
| 13 | 2016-08-29 15:33:16.000000 | 66 |
| 15 | 2016-08-29 15:33:28.000000 | 60 |
| 5 | 2016-08-29 15:32:05.000000 | 57 |
| 7 | 2016-08-29 15:32:19.000000 | 54 |
在此,最新的日期记录应该按照最新的顺序排序。 rank = (comments + favourites)