У меня есть следующая таблица pet в базе данных menagerie:
+--------+-------------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+--------+-------------+---------+------+------------+------------+
| Tommy | Salman Khan | Lebre | NULL | 1999-01-13 | 0000-00-00 |
| Bowser | Diane | dog | m | 1981-08-31 | 1995-07-29 |
+--------+-------------+---------+------+------------+------------+
Теперь, если я запустил следующий запрос:
select owner, curdate() from pet;
Я получаю следующий вывод:
+-------------+------------+
| owner | curdate() |
+-------------+------------+
| Salman Khan | 2016-09-12 |
| Diane | 2016-09-12 |
+-------------+------------+
Вывод показывает все значения owner и значение, возвращаемое с curdate() в каждой строке.
Теперь, если я запустил следующий запрос:
select owner, count(*) from pet;
Я получаю следующий вывод:
+-------------+----------+
| owner | count(*) |
+-------------+----------+
| Salman Khan | 2 |
+-------------+----------+
Мой вопрос в том, какая разница между curdate() и count() функцией, которая позволяет MySQL выводить вторую owner Diane в первом примере?