0

2つのクエリを実行する代わりに、同じテーブルから2つのデータセットを選択しようとしています。1回の呼び出しで両方を選択しようとしています。

まず第一に私がしたい:

SELECT COUNT(*) AS `total` FROM `Messages` WHERE `id` = '1';

そして2番目は:

SELECT COUNT(*) AS `total_read` FROM `Messages` WHERE `id` = '1' AND `read` = '1';

1つのクエリでこれを行う方法はありますか?

4

1 に答える 1

2
SELECT
    COUNT(*) total,
    SUM(IF(read='1',1,0)) total_read
FROM Messages
WHERE id='1';
于 2012-05-24T19:09:21.240 に答える