就算時a和b表join+on仍然會有笛卡爾積的形式
因為如果a表和b表的id都有1對多的形式時,就是笛卡爾積
比如a中id=1的記錄有3條(id,維修時間),
b中id=1的記錄有2條(id,使用者上報時間)
,join,on之後就會有6條!
這樣之後再groupby(id)的時候就會有問題,可能我們僅需要的時使用者上報時間大與維修時間的 (因為這樣才鏈結)
的使用者上報次數大於2的車輛,這樣就會重覆記錄
總之要理解欄位的含義,再鏈結
那這種情況下怎麼保證join之後和a的記錄數量一致(b同理)
先join之後再group by a的id,維修時間,當然這個時候還要再取一次,取的時候不在groupby欄位的字段,按照業務理解取max或者sum之類的(相當於去重)
詳情可見didi的groupby寫的blog
避免笛卡爾積
在mysql中建立臨時表 create table temptable 2 instanceid numeric 30 celltype varchar 128 enodeb id numeric 30 eutrancell id numeric 30 engine myisam default c...
js笛卡爾積
可以用來模擬路徑,或者標籤的順序。笛卡兒積組合 function descartes list var result var pindex null var tempcount 0 var temp 根據引數列生成指標物件 for var index in list pindex index 單維度...
笛卡爾積 LintCode
我們採用二維陣列setlist表示集合陣列,其中setlist i 中的每個元素都為整數,且不相同。求集合setlist 0 setlist 1 setlist setlist.length 1 的笛卡爾積。一般地,集合a和集合b的笛卡爾積a b 注意事項 1 setlist.length 5 1 ...