1841. 联赛信息统计 1811. 寻找面试候选人 1809. 没有广告的剧集 1821. 寻找今年具有正收入的客户 1831. 每天的最大交易

1841. 联赛信息统计[足球比赛积分问题]


在这里插入图片描述
在这里插入图片描述

# Write your MySQL query statement below
select team_name, count(*) matches_played ,sum(yingle*3+pingle) points,
       sum(goal) goal_for ,sum(dis_goal) goal_against,
       sum(goal-dis_goal) goal_diff
from(
select home_team_id id,
#算积分
sum(if(home_team_goals > away_team_goals,1,0)) yingle,
sum(if(home_team_goals < away_team_goals,1,0)) shule,
sum(if(home_team_goals = away_team_goals,1,0)) pingle,
#算进球失球数
sum(home_team_goals) goal,
sum(away_team_goals) dis_goal
from matches group by home_team_id ,away_team_id
union all
select away_team_id id,
       sum(if(home_team_goals < away_team_goals,1,0)) yingle,
       sum(if(home_team_goals > away_team_goals,1,0)) shule,
       sum(if(home_team_goals = away_team_goals,1,0)) pingle,
       sum(away_team_goals) goal,
       sum(home_team_goals) dis_goal
from matches group by away_team_id , home_team_id)new_table,teams T
where T.team_id = new_table.id
group by id
order by points desc, goal_diff desc ,team_name 

在这里插入图片描述

1811. 寻找面试候选人(求连续+行转列)


在这里插入图片描述
在这里插入图片描述

# Write your MySQL query statement below
with new_table as(
    select contest_id ,gold_medal id from Contests
    union all
    select contest_id ,silver_medal from Contests
    union all
    select contest_id ,bronze_medal from Contests

)
select name,mail
from Users
where user_id in(
select id
from(
select *,
       contest_id - rank()over(partition by id order by contest_id) paiming
from new_table)new_new_table
group by id ,paiming
having count(*) > 2

union

select gold_medal
from Contests
group by gold_medal
having count(*)> 2
)


1809. 没有广告的剧集


在这里插入图片描述
在这里插入图片描述

# Write your MySQL query statement below
select
    distinct session_id
from
    Playback p left join Ads a
on
    p.customer_id = a.customer_id and a.timestamp between p.start_time and p.end_time
where
    ad_id is null;

1821. 寻找今年具有正收入的客户


在这里插入图片描述

select customer_id
from Customers
where year = '2021' and revenue >0

1831. 每天的最大交易


在这里插入图片描述

# Write your MySQL query statement below
select transaction_id
from (
select transaction_id,
       rank()over(partition by date_format(day,'%Y-%m-%d') order by amount desc) paiming
from   Transactions)new_table
where paiming = 1
order by transaction_id asc

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个比较具体的任务,需要用到 Python 的网络爬虫技术。我可以提供一些思路和代码供您参考。 首先,我们需要分析网站的结构和数据获取方式。通过观察该网站,发现中标候选人信息都在“招投标结果公示”中。因此,我们可以先获取该页面的链接,再通过解析网页获取中标候选人信息。 具体的代码如下: ```python import requests from bs4 import BeautifulSoup # 获取招投标结果公示页面的链接 url = 'http://www.bcactc.cn/ztb/result.html' response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') links = soup.find_all('a', href=True) # 遍历链接,获取中标候选人信息 for link in links: if 'resultDetail.html' in link['href']: result_url = 'http://www.bcactc.cn/ztb/' + link['href'] result_response = requests.get(result_url) result_soup = BeautifulSoup(result_response.text, 'html.parser') # 解析网页,获取中标候选人信息 candidates = result_soup.find_all('tr') for candidate in candidates: candidate_info = candidate.find_all('td') if len(candidate_info) > 0: print(candidate_info[0].text, candidate_info[1].text, candidate_info[2].text) ``` 上面的代码通过 `requests` 库获取网页内容,再通过 `BeautifulSoup` 库进行解析。首先获取招投标结果公示页面的链接,然后遍历链接获取中标候选人信息。在获取中标候选人信息的页面中,我们通过解析表格中的每一行获取候选人信息,并将其输出。 需要注意的是,这只是一个简单的示例代码,实际情况中可能需要处理一些异常情况,比如网络连接失败、页面解析出错等。同时,网站的数据获取也可能受到法律和道德的限制,需要遵守相关规定。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值