选择,位置,分组依据

时间:2019-10-26 04:20:39

标签: sql group-by mariadb where-clause

我正在尝试检索显示给我卡片是否已发给玩家的数据。

我尝试了使用资源的这些网站来构造代码的不同方式

http://www.sqlservertutorial.net/sql-server-basics/sql-server-group-by/ https://docs.microsoft.com/en-us/sql/t-sql/queries/where-transact-sql?view=sql-server-ver15

但是我一直收到此错误消息

  

#1064-您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册以使用正确的语法   靠近'((E_Subtype WHERE E_Type ='Card')GROUP BY E_From LIMIT 0,25'   在第二行

SELECT E_Type, E_Subtype FROM eventdataview
COUNT (E_Subtype WHERE E_Type = 'Card')
GROUP BY E_From;

我正在尝试从E_type和E_Subtype中获取数据,以表明已提供卡片。 如果已发出卡片,它将查看E_From以查看哪个玩家收到了卡片。

应该看起来像这样

E_From     | E_Subtype
-----------|-----------
player 1   | Yellow Card
Player 2   | Red Card

2 个答案:

答案 0 :(得分:0)

语法错误在->“ COUNT(E_Subtype WHERE E_Type ='Card')”。括号放在错误的位置,以及表名后添加的列数。

使用下面提到的@andrew作为查询 SELECT E_Type,E_Subtype,COUNT(E_Subtype)作为No_Of_Subtypes 从eventdataview WHERE E_Type ='卡片' GROUP BY E_From

答案 1 :(得分:0)

您的查询应如下所示:

SELECT E_Type, COUNT(*)
FROM eventdataview
WHERE E_Type = 'Card'
GROUP BY E_From;

注意:

  • SQL的子句以非常具体的顺序排列,SELECTFROMWHEREGROUP BY
  • 在聚合查询中,唯一未聚合的表达式应仅具有GROUP BY键。
  • WHERE是整个查询的子句,而不是COUNT()函数的子句。
相关问题