2011-07-27 6 views
3

idcdate(作成日)の2つの列のある単純なテーブルobjectがあります。私はさらに、第3の列:各オブジェクトの前に作成されたオブジェクトの数を表示するsqlクエリが必要です。単純なカウントはオプションではありません - クエリで日付を明示的に比較する必要があります。 事前に感謝します!mysqlは1つのテーブルにレコードを数え、必要な場合には

+0

各オブジェクトの前に作成されたオブジェクトの数ですか? –

+0

@james_bond、はい、更新されました。 – Osw

答えて

2
SELECT t1.id, t1.cdate, 
(SELECT COUNT(*) FROM yTable AS t2 WHERE t1.cdate > t2.date) AS createdbefore 
FROM yTable AS t1 

それは明らかに、すべての行のためにそれをカウントしなければならないとして、性能面吸うべきです。あなたのフロントエンドでこれを行う方が良いでしょう。

+2

パフォーマンスに言及してくれてありがとう、テストされている、面白い、データモデルを再構築してくれてありがとう... – Osw

2
SELECT 
    id, 
    cdate, 
    (SELECT 
    COUNT(*) 
    FROM 
    object AS t2 
    WHERE 
    t2.cdate < t1.cdate) 
FROM 
    object AS t1 
関連する問題