我想输出 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
这输出例如:
答案 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