gpt4 book ai didi

php - MySQIi 选择计数并按计数排序

转载 作者:行者123 更新时间:2023-11-29 01:22:20 25 4
gpt4 key购买 nike

我的表看起来像这样(这只是一个例子):

id    name    title    time
----------------------------
1 name1 title1 1000
2 name1 title1 1001
3 name1 title1 1002
4 name2 title2 1003
5 name2 title2 1004
6 name3 title3 1005
7 name4 title4 1006
8 name4 title4 1007
9 name4 title4 1008
10 name4 title4 1009

我想写一个SQL语句来选择每个名字的计数以及与之相关的信息。时间实际上是一个 UNIX 时间戳,但我只是为了简化这个问题而进行了更改。

// This is will get me the trending posts for only the last minute
$time_in_past = time() - 60;
$mysqli->query(
"SELECT COUNT(`id`) FROM `trending`........WHERE `time` < '$time_in_past'"
);

我希望在 PHP 中使用 while() 语句获取结果如下:

name: name4 count: 4 title: title4
name: name1 count: 3 title: title1
name: name2 count: 2 title: title2
name: name3 count: 1 title: title3

我希望它们按 COUNT 个排序,同时仍然得到 10 个结果(在这个例子中只有 4 个)。

最佳答案

您需要将结果分组(按名称),然后再次将结果加入您的表中:

SELECT * FROM trending NATURAL JOIN (
SELECT name, COUNT(*) AS cnt
FROM trending
WHERE time < ?
GROUP BY name
) t
WHERE time < ?
ORDER BY t.cnt DESC

关于php - MySQIi 选择计数并按计数排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16382991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com