mysql題目小練(一)

2021-08-18 01:15:41 字數 1004 閱讀 4657

題目描述:

交易表結構為 user_id,order_id,pay_time,order_amount

寫 sql 查詢過去乙個月付款使用者量(提示 使用者量需去重)最高的 3 天分別是哪

幾天;寫 sql 查詢昨天每個使用者最後付款的訂單 id 及金額;

題目解答:

1.

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

2.關於函式row_number() over()的用法參見:

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就敲了起來,問題果然很簡...