1. 程式人生 > >mysql去重案例,group_concat函式的用法

mysql去重案例,group_concat函式的用法

mysql 去重案例: select group_concat(distinct user_id), `tenant_id` ,  `create_time`  from `dtops_db_list` where `create_time`  >='2016-07-22 00:00:00' and `create_time` <='2016-07-28 23:59:59'  group by `tenant_id`  1.建表語句 [email protected]>create table dtstack(     -> user_id int,     -> user_name varchar(200) not null default '')engine=innodb default charset=utf8; Query OK, 0 rows affected (0.05 sec) 2.插入測試資料: [email protected]>insert into dtstack values(2016,'wjj1'),(2016,'wjj2'),(2017,'wjj3'); Query OK, 3 rows affected (0.02 sec) Records: 3  Duplicates: 0  Warnings: 0 3.現在需要對user_id欄位去重:
[email protected]
>select distinct user_id,user_name from dtstack order by user_id limit 0,3; +---------+-----------+ | user_id | user_name | +---------+-----------+ |    2016 | wjj1      | |    2016 | wjj2      | |    2017 | wjj3      | +---------+-----------+ 3 rows in set (0.00 sec 上面的返回記錄是對user_id,user_name一起去重,不是單個欄位去重。 4.mysql中引入了group_concat函式,可以與group by 一起使用實現單個欄位去重: wjj]>select group_concat(distinct user_id),user_name from dtstack group by user_id order by user_id limit 0,3; +--------------------------------+-----------+ | group_concat(distinct user_id) | user_name | +--------------------------------+-----------+ | 2016                           | wjj1      | | 2017                           | wjj3      | +--------------------------------+-----------+ 2 rows in set (0.00 sec) 解釋:group_concat函式:是將相同的行組合起來 完整的語法如下:group_concat([DISTINCT] 要連線的欄位 [Order BY ASC/DESC 排序欄位] [Separator '分隔符'])

相關推薦

mysql案例group_concat函式用法

mysql 去重案例: select group_concat(distinct user_id), `tenant_id` ,  `create_time`  from `dtops_db_list` where `create_time`  >='2016-07-22 00:00:00' an

mysql3億多資料量

差不多3億6千萬資料,需要去重。因為資料量太大,所以: 將資料load data infile到大表裡,不進行任何去重操作,沒有任何約束。然後將資料分成幾十個小表,用這幾十個小表去對比大表去重。得到去重後的小表。去重以後的小表,根據欄位進行hash算出後兩位數字,重新建好新表,將去重後小表的資料

mysql只留一個(id最小的)

今天爬了一堆資料,結果發現有些重複的,無奈之下只好寫個sql語句把mysql裡去重了。如果大家有一樣的需求可以直接拿去改吧改吧用。 表名:你自己資料庫的表名 欄位名:根據什麼欄位去重 id:一般預設就叫“id”,特殊的自己改掉下面的id就好 delete fro

MySQL的行轉列、列轉行、連線字串 concat、concat_ws、group_concat函式用法

1.concat函式 使用方法: CONCAT(str1,str2,…) 返回結果為連線引數產生的字串。如有任何一個引數為NULL ,則返回值為 NULL。 注意: 如果所有引數均為非二進位制字串,則結果為非二進位制字串。 如果自變

mysql

關鍵詞 成績 cnblogs rom blog -- 情況 -1 查詢成績 --1)查詢時忽略重復值 SELECT DISTINCT City FROM Student --2)查詢成績分布分布情況 SELECT DISTINCT(Score), Count(

分析數據, 缺失值處理 ,處理 噪音處理

異常 str 超過 基礎 基於 center st2 describe 是否 分析數據, 缺失值處理 ,去重處理, 噪音處理 看了charlotte的博客分析數據, 缺失值處理 學習總結,很受用,如是將她的畫圖的部分代碼添加完整,可以運行,這樣學起來更直觀. 1.分析數

(5).url爬取和分離

日誌 %s .com 生成 can 實例對象 記錄日誌 lse 定制 # 新建py文件:duplication.py # 我們新建了一個文件,專門用來去重。在scrapy源碼中已經把結構寫好了,我們只需復制粘貼過來 from scrapy.dupefilter impor

mysql那些事兒

需求 資料庫中存在一批資料,需要業務人員處理,然而,由於資料庫中的資料存在大量的重複,因此,需要去重,僅保留一條資料即可,以減輕業務人員的工作量。 首先,我去網上搜索了一些方法,如下: 利用SQL,刪除掉重複多餘的資料,並且只保留一條資料。 1、查詢表中多餘的重複記錄,重複記錄

面試中常問的List問題你都答對了嗎?

面試中經常被問到的list如何去重,用來考察你對list資料結構,以及相關方法的掌握,體現你的java基礎學的是否牢固。 我們大家都知道,set集合的特點就是沒有重複的元素。如果集合中的資料型別是基本資料型別,可以直接將list集合轉換成set,就會自動去除重複的元素,這個就相對比較簡單。

MySQL-留一

問題:   去除MySQL中重複的記錄,僅保留其中一條。本例中cname為重複項,而cid為primary key。 嘗試解決:   使用程式碼: DELETE FROM t_customer WHERE cname in ( SELECT cname FROM t_custom

MySQL教程之concat以及group_concat用法

MySQL教程之concat以及group_concat的用法   本文中使用的例子均在下面的資料庫表tt2下執行:   一、concat()函式 1、功能:將多個字串連線成一個字串。 2、語法:concat(str1, str2,...) 返回結果

CentOS下MySQL密碼service mysqld start 無法啟動服務

linux環境下,忘記MySQL密碼,或不知道密碼時,我們需要以安全方式啟動MySQL,並重置密碼。 按如下方式,啟動mysql服務 service mysqld start 此時會報錯, unrecognized service….. 跟著service

MYSQL 觸發器 並且允許空值重複的策略

DELIMITER // CREATE TRIGGER `kill_repeats` BEFORE INSERT ON `table_name` FOR EACH ROW BEGIN if NEW.name1<>'' and NEW.name1 in (select na

JavaScript陣列方法面試加分項!

陣列去重,一般都是在面試的時候才會碰到,一般是要求手寫陣列去重方法的程式碼。如果是被提問到,陣列去重的方法有哪些? 你能答出其中的10種方法,面試官絕對會對你刮目相看! 加分項!學起來! 在真實的專案中碰到的陣列去重,一般都是後臺去處理,很少讓前端處理陣列去重。

1042B】Vitamins(方法二進位制或stlmap水題)

題幹: Berland shop sells nn kinds of juices. Each juice has its price cici. Each juice includes some set of vitamins in it. There are three

記一次mysql查詢與刪除重複記錄

查詢: select *,id,count(*) as count from artist group by id having count>1; 刪除(刪除order_id值大的): delete from artist where id in( SELECT * from

concat、concat_ws、group_concat函式用法

一、concat()函式可以連線一個或者多個字串   CONCAT(str1,str2,…) 返回結果為連線引數產生的字串。如有任何一個引數為NULL ,則返回值為 NULL。   select concat('11','22','33');     112233 二、CONCAT_WS(separator,

mysql | 查詢

今天在實際開發過程中遇到一個數據庫去重查詢的問題,在這裡給大家分享一下。 類似於上面這張資料表,我們發現id=5和id=6的資料passWord和userName資料是一樣的。我們的需求是去掉重複的資料(passWord,userName)獲得結果集,去重

mysql保留最小id的一條資料

delete from cm_hx_equ where loopback in(SELECT tmp.loopback FROM (select loopback from cm_hx_equ group by loopback having count(loopback)

量化:從okex獲取k線資料symbol(交易對) 處理存入到mongodb資料庫

import json import time import pymongo from threading import Thread import pandas as pd from urllib.request import Request, urlopen