-1

最後の 1 分間、自分の Web サイトでトレンドの上位 10 ページを選択するための SQL クエリを作成しようとしています。私のテーブルの名前はtrending. ユーザーがページにアクセスするたびに、そのアクセス時間とともにレコードがそのテーブルに入力されます。このようなもの:

$time = time() - 3600;
$mysqli->query("SELECT COUNT(`id`) FROM `trending` WHERE `time` > '$time'");

10 ページの上位 10 レコードを取得するにはどうすればよいですか? MAX()名前などのページに関連付けられたデータも取得したいようなものです。

4

2 に答える 2

2

ID でグループ化し、カウントで並べ替えます。

    $mysqli->query("SELECT id, COUNT(`id`) as cnt 
FROM `trending` WHERE `time` > '$time' 
group by id 
order by cnt desc limit 10");
于 2013-05-03T19:10:45.087 に答える
0

これは役立ちますか?(あなたが意味した最後の時間)

$time = time() - 3600;
$mysqli->query("SELECT id FROM 'trending' WHERE 'time' > '".$time."' LIMIT 1,10");
于 2013-05-03T19:11:57.590 に答える