- 締切済み
レコード数を重複を省いて取得するには
テーブルAccessにあるフィールドuser_idの値が$userであるフィールド数を取得したいのですが、 同テーブルのフィールド ip もしくは uid の値が重複しているものを省いた数を取得したいです。 ipとuidの値が他のフィールドに存在していないuser_idだけカウントしたいです。 このようなカウントをすることは可能でしょうか。 クエリ文をご教示頂けると幸いです。 よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- mpro-gram
- ベストアンサー率74% (170/228)
回答No.2
元のtable にどんなデータがあって、どういう数値がでればよいのか 前回答者さんのSQL結果のどの辺が目的と違うのか、詳しく補足してもらわないと。 質問文自体も、フィールドと行を勘違いしてるような文章なので、意味がとれないし。 もしかして「重複がないもの」じゃなくて、重複してるものは1件で数えたいの? ところで、MySQL の versionは?version古くてサブクエリでエラーでしたってわけじゃないよね。
- 原沢 信道(@nharasawa)
- ベストアンサー率53% (90/168)
回答No.1
SELECT COUNT(*) FROM ACCESS T WHERE 1=(SELECT COUNT(*) FROM ACCESS T2 WHERE T2.IP=T.IP) AND 1=(SELECT COUNT(*) FROM ACCESS T2 WHERE T2.UID=T.UID) AND USER_ID='$user' でどうでしょうか。
お礼
回答ありがとうございます。 試してみましたが駄目でした… また何かわかりましたらお願い致します。