1. create table a as select * from b
2. create table a like b
3. 對於mysql中去重,通過
delete from a where id in
select id from
select col1,col2,max(id) id ,count(1) as total
from a
group by col1,col2
) t1
where total > 1
通過分組計算出數量超過2條的記錄,什麼樣算重複的記錄,通過group by的字段col1,col2,即如果兩個字段相同判定為記錄相同,如果乙個字段相同判定為記錄相同則group by col1。
group by 的本質就是將相同字段(group by的字段)的記錄劃分為一條,其他無關字段進行聚合,可以相加,求最大值。
mysql中使用這種方式的缺點就是每次只能刪除一條重複的記錄,如果有多條則應該再執行一次進行刪除;hive中有row_number()函式可以進行分組後加序號,通過序號進行刪除。
MySQL的一些技巧
使用rand 獲取隨機結果 在order by語句中可按照如下的隨機順序檢索資料行 mysql select from tbl name order by rand order by rand 同 limit 的結合從一組列中選擇隨機樣本很有用 mysql select from table1,ta...
c 中的一些常見技巧
1 整形陣列賦初值 c c 不支援陣列整體賦值,可以在宣告陣列時整體初始化。無論陣列有多大,全部初始化為0的操作很簡單,如int a 3000 就可以將a的3000個元素全部置0 若要賦其他值,例如全部賦值為7,寫成int a 3000 則不行,這只給a 0 賦值為7,其餘的都是0 2 memset...
mysql 一些使用技巧
1.忘記root密碼,解決辦法 usr local mysql share mysql mysql.server stop mysql4 usr local mysql support files mysql.server stop mysql5 usr local mysql bin mysqld...