MYSQL 8.0 SELECT COUNT *查询有什么问题?

时间:2018-09-09 12:11:47

标签: mysql

我对mysql 8.0的查询有问题。试图找到奇怪的东西。这是我的查询:

"SELECT""threeid,"fourid","fiveid",""(SELECT COUNT(*) FROM "test_table" WHERE id=_t.twotid AND threeid=_t.threeid AND fou=_t.fourid AND fiveid=_t.fiveid AND sixid=_t.sixid) AS example ""FROM "test_table" AS _t WHERE firstid=%i AND twoid=%i%s ""GROUP BY threeid,fourid,fiveid ""ORDER BY threeid"

我对此有误:您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以在附近使用正确的语法。如何解决这个问题呢?预先感谢。

1 个答案:

答案 0 :(得分:0)

如果在其他列旁边需要计数,请在列名旁边使用COUNT(*)或COUNT(Expression)而不是SELECT(COUNT(....),请尽可能避免使用嵌套子查询。

让我举一个例子向您展示如何实现您想要的东西。

工作查询:

SELECT tmc AS Defaulter,attdate,COUNT()AS NumberOfTimesBefore5 FROM ru WHERE before5 ='1'GROUP BY tmc ORDER BY COUNT()DESC;

我使用此查询来查找组织中的人员在下午5点之前离开他们的打卡时间的时间。 在这里,tmc就像所有条目的唯一标识符,直到打孔的时间戳记,before5就像只有人们在下午5点之前打孔的值1的标志。

回到您的问题,在列名后直接输入COUNT(*),然后输入条件,您可以在需要的地方使用GROUP BY和ORDER BY。