Хорошо, я удалил свой предыдущий ответ, потому что, в конце концов, это было не то, что искал Уильямфорд, но я решил, что, возможно, мы все недопонимали вопрос.
Сначала я подумал о SELECT DISTINCT...
, но мне показалось слишком странным, что кто-то должен был знать, сколько людей было разных домашних животных, чем остальные ... вот почему я подумал, что, может быть, вопрос был недостаточно ясно.
Итак, теперь, когда реальное значение вопроса выяснено, делая подзапрос для этого его довольно накладных расходов, я бы предпочел бы использовать предложение GROUP BY
.
Представьте, что вы имеете таблицу customer_pets
так:
+-----------------------+
| customer | pets |
+------------+----------+
| customer1 | 2 |
| customer2 | 3 |
| customer3 | 2 |
| customer4 | 2 |
| customer5 | 3 |
| customer6 | 4 |
+------------+----------+
затем
SELECT count(customer) AS num_customers, pets FROM customer_pets GROUP BY pets
вернется:
+----------------------------+
| num_customers | pets |
+-----------------+----------+
| 3 | 2 |
| 2 | 3 |
| 1 | 4 |
+-----------------+----------+
, как вам нужно.
Я попытался, что предыдущим с нулевым везением. Вот пример моих данных; Клиент | Домашние животные 20 | 2 21 | 3 22 | 3 23 | 2 24 | Я хочу этот список: 2 есть 2 Животные 2 имеет 3 Домашние животные 1 has 4 Pets – willlangford
Подборка: Я думаю, что слишком много накладных расходов для такой простой задачи ... – maid450
Я действительно искал оригинальную версию, и первая часть этого решения работала для меня. Спасибо, что не удалили! –