显示今天最受欢迎的商品?

时间:2016-11-11 05:56:25

标签: mysql sql select

我想输出 today 的所有条目,按最受欢迎的条目排序(大多数喜欢=最受欢迎)。

我正在使用此查询,它只选择过去24小时内最受欢迎的条目,但如果是0:00,则计数应重置为零。如果条目具有相同的计数金额,我还想按字母顺序排序。

我怎么能实现这一目标?我尝试ORDER BY count DESC, p.id DESC,但我认为使用GROUP BY我认为这似乎不起作用。

__

这是我的代码:

SELECT 
p.id, COUNT(l.id) AS count, p.title_de, p.de 
FROM 
pages p 
JOIN pages_likes l on l.page_id = p.id 
WHERE 
l.date >= DATE_SUB(NOW(),INTERVAL 1 DAY) 
AND 
l.`status` = 1 GROUP BY p.id 
ORDER BY count DESC LIMIT 6

这输出例如:

enter image description here

1 个答案:

答案 0 :(得分:1)

我想你只想计算当天的记录?

而不是

 >= DATE_SUB(NOW(),INTERVAL 1 DAY) 

使用DATE()

删除时间部分
SELECT DATE(NOW());

现在订单部分:不要使用别名的保留字

 SELECT 
       p.id, 
       COUNT(l.id) AS cnt, p.title_de, p.de 

....
ORDER BY cnt DESC,  p.title_de