【问题标题】:get Row with most likes per day每天获得最多赞的行
【发布时间】:2013-03-29 15:44:13
【问题描述】:

我遇到了尚未解决的问题。请看下表。

+---+------------+-------------------------------------+
|id |   likes    |   fb_likes    |     created_time    |
+---+------------+-------------------------------------+
|10 |    0       |      0        | 2013-04-07 13:53:36 |
| 9 |    3       |      2        | 2013-04-07 13:17:18 |
| 8 |    2       |      1        | 2013-04-06 21:49:30 |
| 7 |    2       |      0        | 2013-04-06 20:25:24 |
| 6 |    6       |      5        | 2013-04-06 18:52:27 |
| 5 |    3       |      0        | 2013-04-05 21:19:34 |
| 4 |    5       |      2        | 2013-04-05 19:09:13 |
| 3 |    9       |     10        | 2013-04-03 14:18:56 |
| 2 |    0       |      1        | 2013-04-02 14:28:36 |
| 1 |    0       |      0        | 2013-04-02 08:39:32 |
+---+------------+-------------------------------------+

我想选择每天获得最多赞的 ID。我看到很多帖子想做类似的事情,但还没有找到解决方案。

我的失败尝试(这选择了正确的喜欢,但错误的 id):

SELECT id, MAX(likes+fb_likes) as Tlikes, created_time FROM table GROUP BY DAY(created_time);

我也尝试过这样的事情: http://dev.mysql.com/doc/refman/5.0/en/example-maximum-column-group-row.html

任何帮助将不胜感激

更新 我忘了添加 fb_likes 列。我真傻。

【问题讨论】:

  • 每天都会问这个问题
  • 噢,对不起。我一直在寻找几个小时,但没有找到任何真正适合我的东西。可以参考一下吗?
  • 事实上你提供的链接是参考!

标签: mysql sql join greatest-n-per-group


【解决方案1】:
SELECT  a.*
FROM    TableName a
        INNER JOIN
        (
            SELECT  DATE(created_time) date, MAX(likes) max_likes
            FROM    TableName
            GROUP   BY DATE(created_time)
        ) b ON  DATE(a.Created_Time) = b.date AND
                a.likes = b.max_Likes

如果您只想显示至少有 1 票的记录,则需要在外部选择中添加 WHERE 子句,例如

【讨论】:

  • 谢谢J W!我之前尝试过类似的查询。我需要检查我做错了什么。
【解决方案2】:
SELECT id, likes, day(created_time)
FROM Likes
WHERE likes =
(SELECT MAX(maxLikes.likes) 
 FROM Likes maxLikes 
 WHERE day(maxLikes.created_time) = day(Likes.created_time)
);

http://sqlfiddle.com/#!2/3e35f/8

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-27
    • 1970-01-01
    • 2021-03-24
    • 1970-01-01
    • 2019-09-06
    • 1970-01-01
    • 1970-01-01
    • 2020-09-18
    相关资源
    最近更新 更多