1つのクエリで異なる条件で2つのものを数えたいと思います。MySQL - 条件が異なる2つのものを数える
SELECT COUNT(*) AS count FROM table_name WHERE name = ?
と
SELECT COUNT(*) as count FROM table_name WHERE address = ? AND port = ?
私は、特定のアドレスや特定のポートを持っている行の数、および特定の名前を持つ行のSEPARATE数を持っている必要があります。
私は、単一のカウントである、と私は、ユーザーに、より正確なメッセージを表示することができますので、それらを別々である必要がしかし、私は
SELECT (COUNT*) as count FROM table_name WHERE (address = ? AND port = ?) OR name = ?
を行うことができることを知っています。
これを行うにはどうすればよいですか?助けていただければ幸いです!単にについて
SELECT COUNT(*) AS count FROM table_name WHERE name = ?
GROUP BY name
UNION ALL
SELECT COUNT(*) as count FROM table_name WHERE address = ? AND port = ?
GROUP BY address, port
これはbobwienholtのしかし、 'name'、' address'、 'port'のいずれかが索引付けされていれば、WHERE句にこれらの条件を追加する方が速いかもしれません。 OR(アドレス=?AND port =?) ' –