MySQL - 在条件语句中使用*

时间:2018-04-07 11:52:00

标签: mysql sql

我正在尝试执行以下声明......

from selenium import webdriver
from bs4 import BeautifulSoup

url = "https://1xbet.cm/en/live/Football/"

driver = webdriver.Chrome("./chromedriver/chromedriver.exe")
driver.get(url)
soup = BeautifulSoup(driver.page_source, 'html.parser')

containers = soup.findAll("div", {"class": "c-events__item_col"})
for container in containers:
    teams = [x.get_text() for x in container.findAll(
        "span", {"class": "c-events__team"}
    )]
    odds = [x.attrs.get('data-coef') for x in container.findAll(
        "a", {"class": "c-bets__bet"}
    )]
    print(teams)
    print(odds)
    print()

但是,我收到以下错误...

  

“您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以便在'*附近使用正确的语法”

我当然意识到*在select语句中用于选择表的所有行。但是在我的情况下,我想找到包含A *值的记录数。是否有人能够指出我能做些什么来解决这个错误,而不必从我的表中删除A *值?

2 个答案:

答案 0 :(得分:3)

你需要使用反引号:

mGattServer.connect(device, false);

实际上你可以跳过SELECT SUM(CASE WHEN CLG ='A*' THEN 1 END) as `A*` From Grades;

CASE

答案 1 :(得分:1)

您的问题是列别名。不要使用不合适的字符作为列名。做这样的事情:

SELECT SUM( CLG = 'A*' ) as A_star
From Grades;

必须处理使用不寻常字符的标识符只会让人感到痛苦 - 使查询难以编写和阅读。