row_number -> rank へ変更 */select*,rank()over(partitionbyidorderbyratio)asrankingfrom`project_id.dataset.table`; いずれのパターンにせよ、row_numberとrankの挙動の違いを意識することは大切そう。
SELECTu.nameAS購入者,i.nameAS商品名,i.price*o.quanityAS購入額,o.dateAS購入日,ROW_NUMBER()OVER(PARTITIONBYu.nameORDERBYo.dateDESC)ASrankFROMordersASoINNERJOINusersASuONu.id=o.user_idINNERJOINitemsASiONi.id=o.item_idWHEREu.nameIN('佐藤','田中')/* 指定された購入者 */ANDrank=1; これ...