SELECT e.gongcheng_id, CONCAT(YEAR(e.tb_time), '年第', WEEK(e.tb_time, 1), '周') AS week, SUM(e.number) AS number, SUM(e.number) OVER (PARTITION BY e.gongcheng_id ORDER BY e.tb_time) AS jindu, n.number - SUM(e.number) OVER (PARTITION BY e.gongcheng_id ORDER BY e.tb_time) AS shengyu FROM fa_tianchuang e JOIN fa_gongcheng n ON n.id = e.gongcheng_id GROUP BY e.gongcheng_id,YEAR(e.tb_time), WEEK(e.tb_time, 1), n.number;
时间: 2024-04-22 12:25:17 浏览: 18
这是一个SQL查询语句,它从表fa_tianchu和fa_gongcheng中选择数据,并进行聚合计算。该查询的目的是获取每个工程的工作进度信息。
查询结果包括以下列:
- e.gongcheng_id: 工程ID
- week: 年份和周数的组合,格式为"YYYY年第WW周"
- number: 每周的工程数量总和
- jindu: 每周的工程数量总和的累积值(按照工程ID和时间排序)
- shengyu: 剩余工程数量(总工程数量减去累积工程数量)
查询使用了JOIN子句将fa_tianchuang和fa_gongcheng两个表关联起来,关联条件是它们的ID字段相等。然后,使用GROUP BY子句对结果进行分组,分组依据是工程ID、年份、周数和总工程数量。最后,使用SUM函数和OVER子句进行累积求和和剩余数量的计算。
请注意,这只是一个SQL查询示例,你需要根据你的实际数据表结构和需求进行适当的修改。
相关问题
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '(YEAR(tb_time), '年第', WEEK(tb_time, 1), '周') AS week, SUM(number)' at line 7
抱歉,您遇到了一个语法错误。根据错误信息,问题出现在第7行的子查询中。
在MariaDB中,CONCAT函数的语法是CONCAT(str1, str2, ...),而不是CONCAT(str1, 'str2', ...)。因此,您需要将 '年第' 前后的单引号去掉。
修改后的查询语句如下:
```sql
SELECT SUM(total_number_before)
FROM (
SELECT
gongcheng_id,
CONCAT(YEAR(tb_time), '年第', WEEK(tb_time, 1), '周') AS week,
SUM(number) OVER (PARTITION BY gongcheng_id ORDER BY YEAR(tb_time), WEEK(tb_time, 1) ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS total_number_before
FROM fa_tianchuang
) t
GROUP BY t.gongcheng_id, t.week;
```
请尝试使用修改后的查询语句,如果还有其他问题,请随时告诉我。
Traceback (most recent call last): File "D:/softdata/pycharm/gongcheng1/ui.py", line 8, in <module> username_input = driver.find_element_by_name("name") # 找到账户输入框 AttributeError: 'WebDriver' object has no attribute 'find_element_by_name'
这个错误提示是说 `WebDriver` 对象没有 `find_element_by_name` 这个方法,这通常是因为你没有正确导入需要的模块或者没有正确创建 `WebDriver` 对象。
你需要先导入 `webdriver` 模块,然后创建一个 `WebDriver` 对象,例如:
```python
from selenium import webdriver
# 创建一个 Chrome 的 WebDriver 对象
driver = webdriver.Chrome()
# 打开指定的网页
driver.get("http://example.com")
# 找到账户输入框并输入用户名
username_input = driver.find_element_by_name("name")
username_input.send_keys("my_username")
```
请检查你的代码,确保已经正确导入 `webdriver` 模块并创建了 `WebDriver` 对象。如果仍然有问题,请提供更多的代码和错误信息以便我们更好地帮助你。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)