1、要求如下
收貨人 收貨位址 訂單號 使用者id
張三 北京 1001 1
張四 上海 1002 2
張五 北京 1003 3
張六 廣州 1004 4
張三 深圳 1005 5
張七 上海 1006 6
現在有這樣的乙個需求,每一行假定是一條訂單記錄,收貨人和收貨位址字段任意一項與其他訂單一致,即認為是關聯訂單
如果關聯訂單大於3條,就把這條訂單對應的使用者id記錄下來。最終要的就是使用者id的列表。
比如:**訂單號1001和訂單號1005的收貨人都是『張三』,證明這兩條訂單是關聯訂單,而且訂單號1001和訂單號1003
需要用mysql實現
2、實現如下:
create table order_table(
rec_p varchar(20),
rec_addr varchar(100),
order_no varchar(20),
user_id varchar(20)
);insert into order_table(rec_p,rec_addr,order_no,user_id) values('張三','北京','1001','1');
insert into order_table(rec_p,rec_addr,order_no,user_id) values('張四','上海','1002','2');
insert into order_table(rec_p,rec_addr,order_no,user_id) values('張五','北京','1003','1');
insert into order_table(rec_p,rec_addr,order_no,user_id) values('張六','廣州','1004','3');
insert into order_table(rec_p,rec_addr,order_no,user_id) values('張三','深圳','1005','1');
insert into order_table(rec_p,rec_addr,order_no,user_id) values('張七','上海','1006','4');
select a.* from order_table a
,(select rec_p,count(*) pnum from order_table group by rec_p) a1
,(select rec_addr,count(*) addrnum from order_table group by rec_addr) a2
where a.rec_p=a1.rec_p and a.rec_addr=a2.rec_addr and (pnum+addrnum)>3
MySQL子查詢關聯商品表和訂單表
在擼 寫程式的時候,免不了要用到mysql關聯表查詢語句,而今天在做商品訂單銷量排行的時候,就更用到mysql子查詢了。子查詢,說的通俗一點就是把乙個查詢得到的結果,作為查詢條件巢狀在另乙個查詢當中,輸出結果。如下 goods是商品表,order是訂單表 子查詢語句 select distinct ...
Mysql 查詢統計不同型別的訂單繳費金額和筆數
select coalesce sum case when order state 1 then paid amount else 0 end 0 errsummoney,coalesce sum case when order state 2 then paid amount else 0 end...
mysql 實現時統計 hql
date format date,format 根據format字串格式化date值。下列修飾符可以被用在format字串中 m 月名字 january december w 星期名字 sunday saturday d 有英語字首的月份的日期 1st,2nd,3rd,等等。y 年,數字,4 位 y...