2017-10-19 10 views
0

私は以下のリストプレーヤーを持っています。mysqlでデータを取得する方法

+-----------+------------+------------+ 
| player_id | mission_id | reg_time | 
+-----------+------------+------------+ 
|   1 |   1 | 1508392600 | 
|   1 |   2 | 1508392800 | 
|   1 |   3 | 1508392900 | 
|   1 |   4 | 1508392822 | 
|   2 |   1 | 1508392500 | 
|   2 |   2 | 1508392600 | 
|   2 |   3 | 1508392900 | 
|   3 |   1 | 1508392600 | 
|   3 |   2 | 1508392600 | 
|   3 |   3 | 1508392900 | 
|   3 |   4 | 1508392900 | 
|   4 |   1 | 1508392600 | 
|   4 |   3 | 1508392900 | 
+-----------+------------+------------+ 

私はplayer_idのすべてを持って取得したい

mission_id = 1、2、reg_time < = 1508392800と

mission_id = 3、4およびreg_time> 1508392800として

+-----------+------------+------------+ 
| player_id | mission_id | reg_time | 
+-----------+------------+------------+ 
|   1 |   1 | 1508392600 | 
|   1 |   2 | 1508392800 | 
|   1 |   3 | 1508392900 | 
|   1 |   4 | 1508392822 | 
|   3 |   1 | 1508392600 | 
|   3 |   2 | 1508392600 | 
|   3 |   3 | 1508392900 | 
|   3 |   4 | 1508392900 | 
+-----------+------------+------------+ 
以下

どのように私はmysqlで行うことができますか?

+3

これまでに何を試みましたか? –

+0

https://dev.mysql.com/doc/mysql-getting-started/en/#mysql-getting-started-basic-ops –

+1

質問にはすべての条件が記載されています。論理演算子を使用してWHERE句に入れることです。それを試して、SQL文に何らかの失敗があった場合は、ここに文を投稿してください。 – prabushitha

答えて

1

このコードを試して、目的の結果を得ることができます。

SELECT * 
from `players` AS p 
where (exists (select * 
      from `players` as p1 
      where p1.player_id = p.player_id 
        AND p1.mission_id = 1 AND p1.reg_time <= 1508392800) 
    AND exists (select * 
      from `players` as p2 
      where p2.player_id = p.player_id 
        AND p2.mission_id = 2 AND p2.reg_time <= 1508392800)) 
AND (exists (select * 
      from `players` as p3 
      where p3.player_id = p.player_id 
        AND p3.mission_id = 3 AND p3.reg_time > 1508392800) 
    AND exists (select * 
      from `players` as p4 
      where p4.player_id = p.player_id 
        AND p4.mission_id = 4 AND p4.reg_time > 1508392800)) 
+0

テーブルの 'reg_date'カラムはどこにありますか? –

+0

あなたの提案をありがとう。私はあなたのコードを試しましたが、それは私の期待通りではないようです + ----------- + ------------ + ------ ------ + | player_id | mission_id | reg_time | + ----------- + ------------ + ------------ + | 1 | 1 | | 1508392600 | | 1 | 2 | 1508392800 | | 1 | 3 | | 1508392900 | | 1 | 4 | 1508392822 | | 3 | 1 | | 1508392600 | | 3 | 2 | | 1508392600 | | 3 | 3 | | 1508392900 | | 3 | 4 | | 1508392900 | + ----------- + ------------ + ------------ + –

+0

@ NareshKumar.P申し訳ありませんがそれに応じて変更されます – Miggy

関連する問題