所以,今天我尝试了以下几点:
SELECT count(users), * FROM table;
它在,
之后的count(users)
上给了我一个语法错误,但是这个:
SELECT *, count(users) FROM TABLE;
或者这个:
SELECT count(users), users FROM table;
有效吗?这有什么理由吗?
修改:根据请求,这是错误:
错误代码:1064。您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第1行的'* from mygamedb'附近使用正确的语法
MySQL Workbench在count(*)
之后用逗号分隔。我想指出我知道这是一个丑陋的选择,我应该分组等等,但问题不在于如何使它工作,而是一个简短的例子,询问为什么会发生这种情况,而不是如何让它发挥作用。
答案 0 :(得分:0)
您可以使用别名来使其工作:
SELECT count(users), t.*
FROM table t;
<强> DBFiddle Demo 强>
SELECT count(users), *
FROM table;
-- You have an error in your SQL syntax;
-- check the manual that corresponds to your MySQL server version for the right
-- syntax to use near '* FROM tablez' at line 1
答案 1 :(得分:0)
我试图解释你什么时候使用这个SELECT count(users), * FROM table;
查询然后mysql查询获取表就像
表:
---count(users)---
result of count
然后你正在添加*意味着获取所有属性值,但是现在mysql check *来自fetch table但是这不是他们因为table只有一个属性,name是count(users),这就是它显示错误的原因。但是当你使用t.table(t是表的别名)从表中获取它并且它工作正常。
我在这里评论我的理解是什么。
由于