select symbol form dividends where symbol = 'AMTD'; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'dividends where symbol = 'AMTD'' at line 1
时间: 2023-07-08 11:53:20 浏览: 155
这个 SQL 语句有语法错误。正确的语句应该是:
```
SELECT symbol FROM dividends WHERE symbol = 'AMTD';
```
这个语句的意思是从名为 "dividends" 的表中选择 "symbol" 列,并且只返回 "symbol" 值为 'AMTD' 的行。在这个语句中,"FROM" 关键字应该在 "dividends" 关键字之后,而不是之前。
请注意,如果在 "dividends" 表中没有 "symbol" 值为 'AMTD' 的行,则该查询将返回一个空结果集。
相关问题
select s.ymd,s.symbol,s.price_close from stocks s LEFT SEMI JOIN dividends d ON s.ymd=d.ymd and s.symbol=d.symbol where s.symbol='IBM' and year(ymd)>=2000; 用mysql语言改写
以下是 MySQL 语言的改写:
```
SELECT s.ymd, s.symbol, s.price_close
FROM stocks s
WHERE s.symbol = 'IBM'
AND YEAR(s.ymd) >= 2000
AND EXISTS (
SELECT 1
FROM dividends d
WHERE s.ymd = d.ymd
AND s.symbol = d.symbol
);
```
使用 `EXISTS` 子查询来模拟 `LEFT SEMI JOIN`,只返回左表中存在匹配项的记录。同时在主查询中使用 `WHERE` 子句过滤掉不符合条件的记录。
insert overwrite table dividends partition(`exchange`,`symbol`) select `ymd`,`dividend`,`exchange`,`symbol` from dividends_unpartitioned;
这是一个Hive的insert overwrite语句,用于将`dividends_unpartitioned`表中的数据插入到`dividends`表中,并将结果分区到`exchange`和`symbol`两个列中。其中,`ymd`、`dividend`、`exchange`和`symbol`分别是`dividends_unpartitioned`表中的列名。具体的步骤如下:
1. 确保你已经创建了`dividends`和`dividends_unpartitioned`两个表,并且它们的列名和数据类型都已经定义好了。
2. 在Hive命令行或者Hue中执行以下语句:
```
insert overwrite table dividends partition(`exchange`,`symbol`)
select `ymd`,`dividend`,`exchange`,`symbol` from dividends_unpartitioned;
```
这条语句的意思是将`dividends_unpartitioned`表中的数据按照`ymd`、`dividend`、`exchange`和`symbol`这四个列的顺序插入到`dividends`表中,并将结果分区到`exchange`和`symbol`两个列中。`partition`关键字后面的括号中,分别指定了要分区的列名。
3. 执行完毕后,你可以在`dividends`表中查看插入的数据。
相关问题:
阅读全文
相关推荐















