0
存在しないIDについてcount(*) = 0
を返す方法を知りましたか?IN配列の無効なIDに対してmysqlが0を返すようにするには?
ソースコード:
SELECT hash, count(*) FROM myTable
WHERE hash IN (1111 /*available*/, 2222 /*not available*/)
GROUP BY hash
リターン:
1111, 1
2222, 0
ベスト
おかげに略記することが、私の主な関心事は、IDの動的なリストがある場合は、それを処理する方法ですか? –
リストはどこから来たのですか? (例えばPHP?)それは私が疑うところで行われなければならない。それについて別の質問が必要な場合があります。 –
**これを得るための最良の方法は、IN()文とは対照的に、リストを 'table'から得ることです。そうすれば、LEFT JOINを行い、SUM(ISNULL(hash、0,1))を使うことができます。一時的なテーブルを使って 'STORED PROCEDURE'で簡単に。 –