yq是也:sql高階教程:非等值自連線zhuanlan.zhihu.com
1.用sql生成有序對非常簡單。像下面這樣通過交叉連線生成笛卡爾積,就可以得到有序對。
select p1.name as name_1, p2.name as name_2
from products p1, products p2;
2.為了去掉(蘋果,蘋果)這種由相同元素構成的對,需要像下面這樣加上乙個條件,然後再進行連線運算。
select p1.name as name_1, p2.name as name_2
from products p1, products p2
where p1.name <> p2.name;
#在以後多用』<>『,戒掉』=!『
3.進一步對(蘋果,橘子)和(橘子,蘋果)這樣只是調換了元素順序的對進行去重。
select p1.name as name_1, p2.name as name_2
from products p1, products p2
where p1.name > p2.name;
#』>『此處利用首字母
sql自查詢 - 搜尋結果 - 知乎www.zhihu.com
查詢表中至少連續出現三次的數字。
l1.id = l2.id-1 #合併規則,按照id+1來合併
and l2.id = l3.id-1
and l1.num = l2.num #篩選規則
and l2.num = l3.num
每天的活躍使用者數和活躍30天留存使用者數
a.date,a.日活躍使用者數,b.活躍30天留存使用者數
from (
select date,count(*) 日活躍使用者數
from active
group by date) a
left join (
select a1.date,count(a1.user_id) 活躍30天留存使用者數
from active a1,active a2
where a1.user_id=a2.user_id and date(a1.date)+29group by a1.date) b
on a.date=b.date;
還是有問題,輸出的是null不是0
SQL 按照最新時間分組
表名 bp acctcurbalance 表說明 當日餘額表 欄位名型別 是否可空 描述索引 idbigintn主鍵 accountid bigint n賬戶id currencycode varchar 50 n幣種 balance decimal 22,2 n餘額 truebalancedate...
sql 累計佔比 sql統計佔比和統計數量
在工作中經常遇到統計佔比的需求,有時候還要把沒有值得統計為0,如何寫sql呢?下面寫乙個小例子,作為參考,方便以後查閱.資料準備 create table t group id number not null,name varchar2 100 alter table t group add pri...
sql 按照任意順序進行排序
建立一張表 create table stut id int,na varchar 20 插入4條資料。insert into stut values 1,aa insert into stut values 2,bb insert into stut values 3,df insert into...