2016-08-06 3 views
-1

У меня есть таблица вроде этого.Как считать те же значения, что и один sql

---------------------------- 
| ID | CITY | BLOCK| NAME | 
---------------------------- 
| 1 |Jakarta| A | John | 
| 2 |Jakarta| A | Rey | 
| 3 |Bekasi | A | Boy | 
---------------------------- 

Что такое правильный запрос для подсчета общей сложности блоков, в которых город Джакарта, и если есть одни и те же блоки в Джакарте, блоки должны учитываться как один?

----------------------- 
| TOTAL_BLOCK_JAKARTA | 
----------------------- 
|   1   | 
----------------------- 

Если я использую этот запрос,

SELECT COUNT(block) FROM member AS total_block_jakarta WHERE city = 'Jakarta' GROUP BY block 

он возвращает более одной строки, как это.

----------------------- 
| TOTAL_BLOCK_JAKARTA | 
----------------------- 
|   1   | 
|   1   | 
----------------------- 

Если я использую COUNT(DISTINCT) в приведенном выше запросе он будет возвращать значения, как это.

----------------------- 
| TOTAL_BLOCK_JAKARTA | 
----------------------- 
|   2   | 
----------------------- 

Пожалуйста, помогите найти правильный запрос. Благодарю.

+0

что является 'kota' в запросе? – bhansa

+0

SELECT COUNT (block) AS total_block_jakarta FROM member WHERE CITY = 'Jakarta' – JYoThI

+0

@Bhansa Извините, kota - это город в Bahasa –

ответ

1

попробовать этот

SELECT COUNT(DISTINCT block) AS total_block_jakarta FROM MEMBER WHERE CITY = 'Jakarta'; 
+0

Я думаю, что нет необходимости в' group by', поскольку count возвратит единственное значение. – bhansa

+0

Ваш запрос вернет total = 2, я хочу, чтобы те же блоки (A) считались равными 1. Таким образом, сумма должна быть 1 –

+0

OH OKAY ИСПОЛЬЗОВАТЬ DISTINCT @IrmaElita – JYoThI

0

Вам не нужно группировать блок, поскольку вы ссылаетесь на количество членов в Джакарте с тем же блоком.

EDIT:

SELECT COUNT(DISTINCT(block)) FROM member AS total_block_jakarta WHERE kota = 'Jakarta' 
+0

Он вернет 2, я хочу, чтобы одни и те же блоки считались как один –

0
SELECT COUNT(DISTINCT BLOCK) AS total_block_jakarta FROM member WHERE CITY LIKE "Jakarta" 

Выход:

-------------------- 
total_block_jakarta 
1 
--------------------- 
+0

Ваш запрос также возвратил total = 2 –

+0

, потому что есть два города под названием «Джакарта», – bhansa

Смежные вопросы