У меня есть следующая таблица 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 в первом примере?