2017-11-30 9 views
0

私はいくつかのユーザーが何かを受け入れるためにボタンをクリックすることができますMySQLのテーブルを持っている。 その後、情報は次のデータとともに保存されます。MySQLテーブルのいくつかの行を数える方法

uid (ai, primary key) 
user_uid (id of user) 
object_uid (id of object you visit) 
date_start 
date_end 

は、私は多くの人が同じobject_uiddate_endを得た方法カウントします。 したがって、2人がdate_endにエントリを持つ場合は、同じobject_uidを訪問した2人の人数を考慮する必要があります。しかし、私はそれを行う方法を知りませんし、私は約2時間前に答えを検索するので、私はより良いgoogleに知らない。

挨拶

PS:私は私の悪い英語のためにごめんなさい。

+1

サンプルデータを出力して出力できますか? –

+0

私は以下の例/​​ヘルプをテストし、新しい更新によってお知らせします:) – KazutoSensei

答えて

0

@Tim Biegeleisenのために、私は自分の問題の正しい方向性を得ました。 次のコードは私の問題を解決しました。

SELECT count(*) FROM table_name WHERE date_end IS NOT NULL AND object_uid = id; 
1

は、あなたが望むものを、このです:

SELECT 
    object_uid, 
    date_end, 
    COUNT(DISTINCT user_uid) AS cnt 
FROM yourTable 
-- WHERE object_uid IN (...) 
GROUP BY object_uid, date_end 
ORDER BY object_uid, date_end; 

これは、日付とオブジェクトと終了日に一致する個別のユーザー数とともに、各オブジェクトの出力報告します。 1つのオブジェクトまたは選択されたオブジェクトのリストのみのデータが必要な場合は、コメントを外してWHERE句を使用します。

+0

あなたの答えはとても役に立ちました。私の質問には100%正解ではありませんでしたが、私の答えを見つけるのを助けました。私は自分の問題の答えを投稿します。 – KazutoSensei

関連する問題