MySql VIPインタビューの質問:1308。さまざまな性別の1日の合計スコア+1204。エレベーターに入ることができる最後の人

転載:
免責事項:私が誰かの権利を侵害した場合は、私に連絡してください。削除します。
専門家を歓迎して私にスプレーしてください。

1308.さまざまな性別の1日の合計スコア

リンク:HTTPS://leetcode-cn.com/problems/running-total-for-different-genders
ここに画像の説明を挿入
(Gender、Day)は、テーブル
の女性チームと男性チームの間で行われたテーブルマッチの主キーです。
各行性別(gender)の(player_name)という名前
の出場者が特定の日に(score_points)を獲得したことを示します。出場者が女性の場合、性別は「F 」としてリストされ、出場者が男性の場合、性別は「For」としてリストされます。 M '

SQLステートメントを記述して、毎日の各性別の合計スコアをクエリし、クエリ結果を性別と日付で並べ替えます

クエリ結果の形式の例を次に示します。
ここに画像の説明を挿入
ここに画像の説明を挿入
女性チーム:
初日は2019-12-30、プリヤンカは17ポイント、チームの合計スコアは17ポイント、
2日目は2019-12-31、プリヤは23ポイントです。ポイント、チームの合計スコアは40ポイントです。
3日目は2020-01-01、アロンは17ポイント、チームの合計スコアは57です。
4日目は2020-01-07、アリスは23ポイント、チームの合計スコアは80ポイントです。
男性チーム:
初日は2019-12-18、ホセは2ポイント、チームの合計スコアは2ポイント
、翌日は2019-12-25、ハリは11ポイント、チームの合計スコアです。 13ポイントです
三日目には、2019年12月30日であり、Slamanは13ポイントを獲得し、チームの合計スコアは26であった
四日2019年12月31日であった、ジョーは3ポイントを獲得し、チームの総スコアは29であったザ・
5日目は2020-01-07、バジュランは7ポイント、チームの合計スコアは36ポイントです。

回答

select a.gender, a.day, sum(b.score_points) as total
from scores a, scores b
where a.gender = b.gender and a.day >= b.day
group by gender,day
order by gender, day,total

1204.エレベーターに入ることができる最後の人

リンク:https:
ここに画像の説明を挿入
//leetcode-cn.com/problems/last-person-to-fit-in-the-elevatorperson_idはこのテーブルの主キーです。
この表は、エレベーターを待っているすべての人の情報を示しています。
テーブルのperson_id列とturn列には、1からnまでのすべての数値が含まれます。nはテーブルの行数です。

エレベータの最大耐荷重は1000です。

SQLクエリを記述して、エレベータに入ることができ、重量制限を超えない最後のperson_nameを見つけます。質問は、列の最初の人がエレベーターに入ることができることを保証します。

クエリの結果は次のとおりです
ここに画像の説明を挿入
ここに画像の説明を挿入
。簡単にするために、キューテーブルは小さい列から大きい列に順番に並べ替えられます。
上記の例では、George Washington(id 5)、John Adams(id 3)、Thomas Jefferson(id 6)は、重量の合計が250 + 350 + 400 = 1000であるため、エレベータに入ることができます。
トーマス・ジェファーソン(id 6)は、エレベーターに入るのに適切な体重の最後の人でした。

回答

select a.person_name
from queue a
where (select sum(b.weight) from queue b where a.turn >= b.turn) <= 1000
order by a.turn desc limit 1

おすすめ

転載: blog.csdn.net/qq_45531729/article/details/112384778