0

クエリを作成するためにParis/idiormPHPを使用する必要があります。私は多くの可能性を試しましたが、それでも解決策を見つけることができませんでした。私はPHPとSQLに不慣れで、ORMについてあまり知りません。最後に更新されたタイムスタンプの個別の名前を取得するためのクエリの作成を誰かが手伝ってくれると思っていました。

-----------------------------------------
id  |   name       |    timestamp
-----------------------------------------
1   |   testuser   |  2012-11-19 17:02:48
2   |   testuser   |  2012-11-28 11:15:46
3   |   testuser   |  2012-11-19 11:02:49
4   |   testadmin  |  2012-11-28 10:50:05
5   |   testadmin  |  2012-11-28 11:15:46
-----------------------------------------

次のクエリを実行し、名前とその最初のタイムスタンプを取得できましたが、最新のタイムスタンプを取得できませんでした

    $output = ORM::for_table('sample')
                ->raw_query('SELECT id,name,timestamp FROM sample GROUP BY name',array())
                ->find_many();

これに対する解決策があることを願っています。

4

3 に答える 3

1

サブクエリ内の各名前の最新のタイムスタンプを取得し、それ自体に対して結合し直します。試す、

SELECT a.*
FROM    tableName a
        INNER JOIN
        (
            SELECT name, MAX(timestamp) maxStamp
            FROM tableName
            GROUP BY name
        ) b ON a.name = b.name AND
                a.timestamp = b.maxStamp
于 2012-11-28T08:24:15.347 に答える
0
$output = ORM::for_table('sample')
  ->distinct()
  ->raw_query('SELECT id,name,timestamp FROM sample GROUP BY name',array())
  ->find_many();
于 2012-11-28T08:25:34.227 に答える
0
 $output = ORM::for_table('sample')
                ->raw_query('SELECT DISTINCT(name),id,timestamp FROM sample ORDER BY id DESC',array())
                ->find_many();

お役に立てれば

私はそれを注文しようとしますDESCあなたにユーザーの最後または最新のログを取得します

于 2012-11-28T08:29:13.067 に答える