私は、単純なSQLクエリを持っている:MYSQL:GROUP BYは0以外のすべての値にNULLを設定しますか?
SELECT tid,
COUNT(*) AS bpn
FROM mark_list
WHERE userid = $userid
GROUP BY tid
は今列tid
は、基本的には、各エントリに関連付けられているカテゴリリストです。カテゴリは固有の数値です。
userid
ごとにいくつのレコードがあるのかを全体的にカウントしていますが、カテゴリ全体を1回だけカウントしたいだけです(カテゴリ3に10000レコードがある場合、 1)。
カテゴリがnullまたは時には0としてリストされていることがあります。項目に0またはNULLがある場合はカテゴリがなく、それらを独自の別のエンティティとしてカウントしたい単一の大きなカテゴリ。
、 COUNT(*) 'COUNT(DISTINCT tid)'のようなものを試してください。 –