我对 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 服务器版本相对应的手册,以了解要使用的正确语法。如何解决这个问题呢?提前致谢。
如果您需要在其他列旁边进行任何计数,请在列名旁边使用 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 就像所有条目的唯一标识符,attdate 我是打卡的时间戳,before5 就像一个标志,只有人们在下午 5 点之前打卡时才具有值 1。
回到你的问题,直接在列名旁边键入 COUNT(*) ,后跟条件,你可以在任何需要的地方使用 GROUP BY 和 ORDER BY 。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句