0

Laravel 3で頻繁にクエリを書くのに少し助けが必要です.

ユーザーの投票を「投稿」に保存する「投票」というテーブルがあります。

したがって、「votes」テーブルには「user_id」、「post_id」、および「timestamp」があります。

ここで、「トレンド」の投稿を (特定の時間枠で) 表示するためのクエリを作成する必要があります。私のロジックは、最初に目的の期間 (たとえば過去 30 日間など) に追加されたレコードを選択し、次にレコードを post_id でグループ化してから、カウント順に並べることです。

条件ごとにクエリを個別に作成できます..しかし、これらすべての条件を単一のクエリに組み込む方法がわかりません。

基本的に...誰かにこのSQLの頻繁なクエリを書いてもらいたいだけです

SELECT post_id, COUNT(*)
FROM votes
GROUP BY post_id
ORDER BY COUNT(*) DESC

どんな種類の助けも非常に高く評価されます。

ありがとうございました。:)

4

2 に答える 2

1

頻繁にクエリ ビルダーを使用すると、Fluent Query Builder のことを指していると思います。

Fluent Query Builder を使用すると、次のようになります。

ララベル 3:

$results = DB::table('votes')->get(array('post_id','count(*)'))->group_by('post_id')->order_by('count(*)','desc')->get();

ララベル4:

$results = DB::table('votes')->select('post_id','count(*)')->groupBy('post_id')->orderBy('count(*)','desc')->get();

お役に立てれば!幸運を!

于 2013-08-24T03:12:31.947 に答える
0

このようなものを探していると思います。

SELECT 
p.post_id, COUNT(*)
FROM 
posts p
LEFT JOIN
votes v
WHERE p.add_date_time > DATE_SUB( CURRENT_DATE() , INTERVAL 30 DAY)
GROUP BY p.post_id
ORDER BY COUNT(*) DESC
于 2013-07-06T19:00:06.080 に答える