mysql 獲取mysql中不重複的資料

2021-08-31 01:37:44 字數 1018 閱讀 7769

假設情景如下:

user_table的字段如下:

keyword \t c_time \t heat

keyword是字串的具有重複性的,c_time表示的是時間,heat是整形常數。

如下所示:

**如下:

select keyword, max(created_at) as latest_created_at ,max(search_index) as 

latest_publish_time from data_table where created_at > date_sub(now(),interval '1:30'

hour_minute) and keyword is not null and plateform_id=1 and search_index!=0 group by keyword

limit 10;

上面的**,先使用group by keyword 將相同keyword分成同乙個組,然後使用max(created_at)將最新的資料獲取出來,會獲取到唯一的資料;本來就已經能夠得到一組唯一的資料了,但是又想獲得search_index欄位,所以要使用max(search_index),這樣才能得到search_index欄位。【這個是從group by陣列中獲得欄位的一種方式啊,雖然明明知道max(search_index)是沒什麼意義的,但是必須要是函式獲取欄位才不會報錯】。

然後使用:

created_at > date_sub(now(),interval '1:30' hour_minute)
上面的語句獲取到當前時間乙個半小時的資料之內的資料,mysql可以直接使用">","

keyword is not null
語句,將keyword 不為空。

這樣就獲得資料了。

mysql獲取兩個表中不重複的資料

比如有兩個資料表,表結構是一樣的,乙個a表資料300w行,乙個b表資料17w行,我們需要獲取a表中不包含b表的資料。下面大致記錄一下獲取過程,方便查詢回憶。a表結構 idpay id user idb表結構和a表一直,只不過b表中的user id欄位都是唯一的,而a表中的user id欄位是可重複的...

利用Ibatis實現Mysql中的不重複插入記錄

以下討論全部針對mysql資料庫 通常業務上至少需要兩種型別的不重複插入記錄的需求 1 針對上面的第一種,mysql提供了insert into on duplicate key update 語法 mysql自己的語法,不屬於標準sql 來實現。這種場景相對常見。使用的前提是,需要定義主鍵或者唯一...

mysql 計算非重複 MySQL 不重複插入

sql unique 約束 unique 約束唯一標識資料庫表中的每條記錄。unique 和 primary key 約束均為列或列集合提供了唯一性的保證。primary key 擁有自動定義的 unique 約束。請注意,每個表可以有多個 unique 約束,但是每個表只能有乙個 primary ...