全國各省份人口數排前三的城市
思路:先按照省份分組,再組內按照人口數排序取前三
<
!--mysql-->
set@num=0
,@class=''
;select
*from
(select p.*,
@num :=if(
@class
=province,
@num+1
,1)as rank,
@class := p.province as pclass
from population as p
order
by province, popu desc
)temp
where rank <
4;
postgresql有比較簡潔的用法
<
!--postgresql-->
select
*from
(select p.*,
row_number(
)over
(partition
by province order
by popu desc
)as rank
from population p
)temp
where
temp
.rank <
4
一周內使用者登入次數統計
思路:調整日期格式,where篩選7天內的資料
select date(ctt) cttd, count(*)
from login
where date(ctt) > date_sub(curdate(), interval 7 day)
group by cttd
order by cttd;
SQL分組統計
第一種情況 橫向顯示 先看下面的乙個資料表 現在的需求是 統計出v coun每一種取值情況下,對就的v iseneded的數量。oracle中的 sql 如下 select v count,sum case when v isended 1then 1else 0end as 一的數量,sum ca...
SQL語句 分組統計
一 教師號 星期號 是否有課 有 有 有 有 有 寫一條sql語句讓你變為這樣的表 教師號 星期一 星期二 星期三 各星期下的數字表示 對應的教師在星期幾已經排的課數 答案是 select 教師號 sum case when 星期號 1then 是否有課 else 0end as 星期一 sum c...
group by分組統計SQL語句
用一條查詢語句,查出各姓名的數值餘額.使用者表 姓名a bc 扣費表 姓名 數值 a 3.5 b 5.2 a 2.充值表 姓名 數值 b 10 a 10 a 10.5 返回 姓名 差額 充值和 扣費和 測試通過 select table1.tname,table1.telname,table3.充值...