添加带有count(*)的列

khu*_*uss 0 mysql sql

当我执行“从用户中选择count(*)”时,它将以以下格式返回数据:

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

我想以以下格式获取数据。

+---------+----------+
| key     | count    |
+---------+----------+
| my_count|   100    |
+---------+----------+
Run Code Online (Sandbox Code Playgroud)

原因是将这些数据提供给预构建的小部件,该小部件需要上述格式的数据。

有没有办法在SQL中做到这一点?

我尝试了各种选项,例如“分组依据”,但无法正常运行。

mysql> select count(*) from users;
Run Code Online (Sandbox Code Playgroud)
+---------+----------+
| key     | count    |
+---------+----------+
| my_count|   100    |
+---------+----------+
Run Code Online (Sandbox Code Playgroud)

Tim*_*sen 6

只需在您的select子句中添加字符串文字即可:

SELECT 'my_count' AS `key`, COUNT(*) AS count
FROM users;
Run Code Online (Sandbox Code Playgroud)

注意,这key是MySQL中的保留关键字,因此我们必须使用反引号对其进行转义。

如果您打算使用GROUP BY,则可能需要这样的查询:

SELECT `key`, COUNT(*) AS count
FROM users
GROUP BY `key`;
Run Code Online (Sandbox Code Playgroud)