題目描述:
交易表結構為 user_id,order_id,pay_time,order_amount
寫 sql 查詢過去乙個月付款使用者量(提示 使用者量需去重)最高的 3 天分別是哪
幾天;寫 sql 查詢昨天每個使用者最後付款的訂單 id 及金額;
題目解答:
1.
2.關於函式row_number() over()的用法參見:select
a.dt_pay_time
from
#to_date()函式作用:文字轉日期
(select
to_date(pay_time) as dt_pay_time,
count(distinct user_id) as pay_cnt
from
table
where to_date(pay_time) between date_sub(current_date,31)
and date_sub(current_date,1)
group
by to_date(pay_time)) a
order
by a.pay_cnt desc
limit 3
select
a.order_id,
a.order_amount
from
(select
user_id,
pay_time,
order_id,
order_amount,
row_number() over(patition by user_id order
by pay_time desc) as rank
from
table
where to_date(pay_time)=date_sub(current_date,1) a
where a.rank=1
演算法小練 加一
title 演算法小練 加一 date 2019 11 09 19 43 59 categories 給定乙個由整數組成的非空陣列所表示的非負整數,在該數的基礎上加一。最高位數字存放在陣列的首位,陣列中每個元素只儲存單個數字。你可以假設除了整數 0 之外,這個整數不會以零開頭。示例 1 輸入 1,2...
位運算小結及位運算題目小練
按位與運算子 是雙目運算子。其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為1時,結果位才為1,否則為0。參與運算的數以補碼方式出現。運算規則 0 0 0 0 1 0 1 0 0 1 1 1 舉例 9 00001001 5 00000101 1 00000001 00001001 ...
每日一小練 Armstrong數
題目 armstrong數 內容 在三位的正整數中,例如abc,有一些可以滿足a 3 b 3 c 3 abc的條件,也就是說各個位數的立方和正好是該數本身,這些數稱為armstrong數。是編寫乙個程式求出所有的三位armstrong數。我的解法 上來沒多想,開啟vs2013就敲了起來,問題果然很簡...