mysql實現關聯訂單統計

2021-07-01 18:44:29 字數 1378 閱讀 2184

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...