Добавить столбец с количеством (*) - PullRequest
0 голосов
/ 24 мая 2019

Когда я выбираю «count (*) from users»), он возвращает данные в следующем формате:

mysql> select count(*) from users;
+----------+
| count(*) |
+----------+
|        100 |
+----------+
1 row in set (0.02 sec)

Я хотел бы получить данные в следующем формате.

+---------+----------+
| key     | count    |
+---------+----------+
| my_count|   100    |
+---------+----------+

Причина в том, что эти данные передаются в предварительно созданный виджет, который ожидает данные в указанном выше формате.

Есть ли способ сделать это в SQL?

Я пробовал различные варианты, такие как «Группировать по», но не смог заставить его работать.

mysql> select count(*) from users;
+---------+----------+
| key     | count    |
+---------+----------+
| my_count|   100    |
+---------+----------+

1 Ответ

6 голосов
/ 24 мая 2019

Просто добавьте строковый литерал в ваше предложение select:

SELECT 'my_count' AS `key`, COUNT(*) AS count
FROM users;

Обратите внимание, что key является зарезервированным ключевым словом в MySQL, поэтому мы должны экранировать его с помощью обратных символов.

Если вы намеревались использовать GROUP BY, то вы, вероятно, захотите запрос, подобный этому:

SELECT `key`, COUNT(*) AS count
FROM users
GROUP BY `key`;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...