php - Mysql 查询每日最高票数

标签 php mysql sql

我有一个以下数据库表review_vote

review_id | user_id | status | date_added 
 2             3        good     20130116135259
 3             3        normal   20130116145259
 4             2        normal   20130116155259
 5             2        good     20130116165259
 6             2        good     20130116175259
 7             1        great    20130116185259
 8             3        good     20130117135259
 9             3        normal   20130117145259

目前我可以通过使用以下查询获得最高投票:

SELECT review_id FROM review_vote GROUP BY review_id HAVING COUNT(*) = 
(
   SELECT MAX(x.counts) FROM 
   ( 
       SELECT review_id, COUNT(*) counts FROM review_vote GROUP BY review_id
   )x 
) 
order by date_added desc

但是如果我需要每天获得最高投票,我该如何修改上面的代码?这意味着如果今天是 2013-01-16 我需要为昨天获得最高票 2013-01-15

我尝试使用date_added = CURDATE()失败。 SQLFIDDLE:http://sqlfiddle.com/#!2/9a2b5/6

更新查询:

CREATE TABLE IF NOT EXISTS `review_vote` (
  `review_id` int(11) NOT NULL,
  `user_id` int(11) NOT NULL,
  `status` varchar(100) NOT NULL,
  `date_added` varchar(100) NOT NULL,
  KEY `review_id` (`review_id`,`user_id`) USING BTREE
) ENGINE=MyISAM DEFAULT CHARSET=utf8;



INSERT INTO `review_vote` (`review_id`, `user_id`, `status`, `date_added`) VALUES
(223, 2, 'lame', '20130116195259');
INSERT INTO `review_vote` (`review_id`, `user_id`, `status`, `date_added`) VALUES(222, 2, 'lame', '20130115195259');

最佳答案

只需将其添加到您的 where 条件中即可:

DATE_FORMAT(date_added, '%Y-%m-%d') = CURDATE()

根据您的错误进行更新

SELECT review_id FROM review_vote AS RV WHERE DATE_FORMAT(RV.date_added, '%Y-%m-%d') = CURDATE()    
    GROUP BY review_id HAVING COUNT() = 
(
    SELECT MAX(x.counts) FROM 
    (
        SELECT review_id, COUNT() counts FROM review_vote GROUP BY review_id
    )x
)

请看一下演示:demo

关于php - Mysql 查询每日最高票数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14358215/

相关文章:

php - 在 MySQL 中使用 REGEX

sql - 在查询中为 'OR' 运算符创建索引

mysql - 展开查询中的字段

sql - 使用动态 sql 在存储过程中填充临时变量

php - 通过php打印大的select SQL语句

php - 强制为 Laravel Socialite Google+ 登录选择用户帐户

PHP Implode 无法与 mysql_query 一起使用

mysql - MySQL 中的三个表的完全外连接

mysql - 从另一个字段排序的数据库中选择不同的行

php - 我可以使用 php 和 gd 检测动画 gif 吗?