0
У меня есть следующий кредит схема:Подсчет отдельных строк в MySQL
mysql> select * from borrower;
+----------+---------+
| name | loan_id |
+----------+---------+
| Adams | L16 |
| Curry | L93 |
| Hayes | L15 |
| Jackson | L14 |
| Jones | L17 |
| Smith | L11 |
| Smith | L23 |
| Williams | L17 |
+----------+---------+
8 rows in set (0.00 sec)
Мне нужно рассчитать общее количество кредитов, каждый человек взял. Я думал, что автообъединение является решением этой проблемы, и я попытался следующий запрос:
select T1.name, count(T2.name) from borrower T1, borrower T2 where T1.name = T2.name;
Но я получаю странные результаты следующие:
mysql> select T1.name, count(T2.name) from borrower T1, borrower T2 where T1.name = T2.name;
+-------+----------------+
| name | count(T2.name) |
+-------+----------------+
| Adams | 10 |
+-------+----------------+
1 row in set (0.00 sec)
Кажется, что простое имя группы GROUP BY - это то, что вы хотите. Почему вы хотите сделать самостоятельное соединение? –
^^ Справа - соединение не нужно. Но вы избегаете ленивости MySQL с помощью команды GROUP BY (или ее отсутствия). –