当我执行“从用户中选择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)
只需在您的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)