ВЫБЕРИТЕ, ГДЕ, ГРУППА ПО - PullRequest
       36

ВЫБЕРИТЕ, ГДЕ, ГРУППА ПО

0 голосов
/ 26 октября 2019

Я пытаюсь получить данные, которые показывают мне, была ли дана карта игроку.

Я пробовал разные способы структурирования кода с использованием этих сайтов: ресурсы

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' в строке 2

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 голосов
/ 26 октября 2019

Ваш запрос должен выглядеть следующим образом:

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

Примечания:

  • Предложения SQL идут в очень специфическом порядке, SELECT, FROM, WHERE, GROUP BY.
  • В запросе агрегации единственные неагрегированные выражения должны иметь только ключи GROUP BY.
  • WHERE - это предложение для всего запроса, а не дляCOUNT() функция.
0 голосов
/ 26 октября 2019

Синтаксическая ошибка в -> "COUNT (E_Subtype WHERE E_Type = 'Card')". Скобки в неправильном месте, а также количество столбцов, добавленных после имени таблицы.

Используйте запрос как @andrew, упомянутый ниже SELECT E_Type, E_Subtype, COUNT (E_Subtype) As No_Of_Subtypes FROM eventdataview WHERE E_Type = 'Карта'GROUP BY E_From

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...