Browse Source

sql去重加排序

jianghan 4 months ago
parent
commit
3bbfa74d2c
1 changed files with 12 additions and 9 deletions
  1. 12 9
      service/clueInfoList.go

+ 12 - 9
service/clueInfoList.go

@@ -45,23 +45,26 @@ type ClueInfo struct {
 }
 
 func CheckingList(in *pb.ClueInfoReq) *pb.BiReply {
-	sql0 := `SELECT a1.*, a3.name as customer, a4.name as trailstatus_name, a5.name as sales_people FROM dwd_f_crm_clue_info a1 LEFT JOIN ent_relation a2 ON a1.cluename = a2.a_name OR a1.cluename = a2.b_name 
+	sql0 := `SELECT DISTINCT a1.*, a3.name as customer, a4.name as trailstatus_name, a5.name as sales_people FROM dwd_f_crm_clue_info a1 LEFT JOIN ent_relation a2 ON a1.cluename = a2.a_name OR a1.cluename = a2.b_name 
     	LEFT JOIN dwd_f_csm_customer_info a3 ON a1.id = a3.clue_id 
     	LEFT JOIN dwd_d_crm_trailstatus_code a4 ON a1.trailstatus = a4.code
-	    LEFT JOIN dwd_d_crm_department_level_succbi a5 ON a1.position_id = a5.position_id WHERE a1.cluename LIKE '%%%s%%' limit ? offset ?`
-	cq0 := `SELECT COUNT(1) FROM dwd_f_crm_clue_info a1 LEFT JOIN ent_relation a2 ON a1.cluename = a2.a_name OR a1.cluename = a2.b_name WHERE a1.cluename LIKE '%%%s%%'`
+	    LEFT JOIN dwd_d_crm_department_level_succbi a5 ON a1.position_id = a5.position_id 
+	    WHERE a1.cluename LIKE '%%%s%%' ORDER BY a1.id ASC, a1.trail_time DESC, a1.lock_status ASC limit ? offset ?`
+	cq0 := `SELECT COUNT(DISTINCT a1.id) FROM dwd_f_crm_clue_info a1 LEFT JOIN ent_relation a2 ON a1.cluename = a2.a_name OR a1.cluename = a2.b_name WHERE a1.cluename LIKE '%%%s%%'`
 
-	sql1 := `SELECT a1.*, a3.name as customer, a4.name as trailstatus_name, a5.name as sales_people FROM dwd_f_crm_clue_info a1 LEFT JOIN ent_relation a2 ON a1.cluename = a2.a_name OR a1.cluename = a2.b_name 
+	sql1 := `SELECT DISTINCT a1.*, a3.name as customer, a4.name as trailstatus_name, a5.name as sales_people FROM dwd_f_crm_clue_info a1 LEFT JOIN ent_relation a2 ON a1.cluename = a2.a_name OR a1.cluename = a2.b_name 
     	LEFT JOIN dwd_f_csm_customer_info a3 ON a1.id = a3.clue_id 
     	LEFT JOIN dwd_d_crm_trailstatus_code a4 ON a1.trailstatus = a4.code 
-	    LEFT JOIN dwd_d_crm_department_level_succbi a5 ON a1.position_id = a5.position_id WHERE a1.name = '%s' limit ? offset ?`
-	cq1 := `SELECT COUNT(1) FROM dwd_f_crm_clue_info a1 LEFT JOIN ent_relation a2 ON a1.cluename = a2.a_name OR a1.cluename = a2.b_name WHERE a1.name = '%s'`
+	    LEFT JOIN dwd_d_crm_department_level_succbi a5 ON a1.position_id = a5.position_id 
+		WHERE a1.name = '%s' ORDER BY a1.id ASC, a1.trail_time DESC, a1.lock_status ASC limit ? offset ?`
+	cq1 := `SELECT COUNT(DISTINCT a1.id) FROM dwd_f_crm_clue_info a1 LEFT JOIN ent_relation a2 ON a1.cluename = a2.a_name OR a1.cluename = a2.b_name WHERE a1.name = '%s'`
 
-	sql2 := `SELECT a1.*, a3.name as customer, a4.name as trailstatus_name, a5.name as sales_people FROM dwd_f_crm_clue_info a1 LEFT JOIN ent_relation a2 ON a1.cluename = a2.a_name OR a1.cluename = a2.b_name 
+	sql2 := `SELECT DISTINCT a1.*, a3.name as customer, a4.name as trailstatus_name, a5.name as sales_people FROM dwd_f_crm_clue_info a1 LEFT JOIN ent_relation a2 ON a1.cluename = a2.a_name OR a1.cluename = a2.b_name 
     	LEFT JOIN dwd_f_csm_customer_info a3 ON a1.id = a3.clue_id 
     	LEFT JOIN dwd_d_crm_trailstatus_code a4 ON a1.trailstatus = a4.code
-	    LEFT JOIN dwd_d_crm_department_level_succbi a5 ON a1.position_id = a5.position_id WHERE a1.phone = '%s' limit ? offset ?`
-	cq2 := `SELECT COUNT(1) FROM dwd_f_crm_clue_info a1 LEFT JOIN ent_relation a2 ON a1.cluename = a2.a_name OR a1.cluename = a2.b_name WHERE a1.phone = '%s'`
+	    LEFT JOIN dwd_d_crm_department_level_succbi a5 ON a1.position_id = a5.position_id 
+		WHERE ORDER BY a1.id ASC, a1.trail_time DESC, a1.lock_status ASC a1.phone = '%s' limit ? offset ?`
+	cq2 := `SELECT COUNT(DISTINCT a1.id) FROM dwd_f_crm_clue_info a1 LEFT JOIN ent_relation a2 ON a1.cluename = a2.a_name OR a1.cluename = a2.b_name WHERE a1.phone = '%s'`
 
 	sql, cq := "", ""
 	if in.SearchType == 0 {