2017-06-22 5 views
0

いくつかの条件を使用してIdのカウントを取得しようとしています。Mysql数はWhere句と区別されます

これが私の最初のクエリです:

SELECT 
    COUNT(DISTINCT (id)) 
FROM 
    my_table 
WHERE 
    app_id = 1 
     AND zone_id != 1 
     AND presence_time_secs > 20 
     AND initial_timestamp BETWEEN '2017-05-02 00:00:00' AND '2017-05-05 00:00:00' 
group by 
    day(initial_timestamp) 

だから私の問題は、それがzone_id!=1一部を取得していないです。

zone_id=1を使用して同じクエリを実行するといくつかの値がありますが、最初のクエリではzone_id!=1と同じ値が返されます。

私は間違っていますか?

(私もNOT IN、同じ結果を使って試しました)。

ありがとうございます!

+0

で 'ZONE_ID!= '1'カウントが '1' = ZONE_ID数と同じであるが、このzone_id !=1を変更します。 – Blank

+0

しかし... zone_id!= 1は、他のゾーンの結果を正しいものにする必要がありますか? –

+0

'AND zone_id!= 1'なしで数え、結果を確認してください。データが正しいかどうかを確認するために、集計なしですべての結果を照会する必要があります。 – Blank

答えて

1

はたぶんzone_id <> 1またはzone_id NOT LIKE '1'

+0

それを試しましたが、同じものを返します...最後にNOT INの中で別の選択を行い、別のデータを返します... –

関連する問題