1. 程式人生 > >mysql 先排序分組 取組裡面最新一條資料

mysql 先排序分組 取組裡面最新一條資料

最近又遇到這個問題了,不知道是不是mysql 的bug.

 一般寫sql  先排序在分組取最新的一條資料

不外乎 

SELECT p.* FROM (SELECT * FROM sys_message ORDER BY id DESC  )p GROUP BY  p.messageType ORDER BY id desc

 但是這樣 還是得不到 分組裡面最新的一條資料。  

不廢話 要得到 組裡面最新的一條資料 其他 要加哥限制

SELECT p.* FROM (SELECT * FROM sys_message ORDER BY id DESC  LIMIT 1000 )p GROUP BY  p.messageType ORDER BY id desc

 看到沒有   在 排序的時候   加上 limit  做個限制 就可以得到 想要的結果了。

相關推薦

mysql 排序分組 裡面最新資料

最近又遇到這個問題了,不知道是不是mysql 的bug.  一般寫sql  先排序在分組取最新的一條資料 不外乎  SELECT p.* FROM (SELECT * FROM sys_message ORDER BY id DESC  )p GROUP BY  p.m

sql之分組內前幾資料

一、對分組的記錄取前N條記錄:例如:取每組的前3條最大的記錄 1.用子查詢: SELECT * FROM tableName a  WHERE (SELECT COUNT(*) FROM tableName b WHERE b.id=a.id AND b.cnt>

MSSQL分組後每最新記錄

top 分享 mssql 方法 esc box nan 技術分享 -c 數據庫中二張表,用戶表和獎金記錄表,獎金記錄表中一個用戶有多條信息,有一個生效時間,現在要查詢: 獎金生效時間在三天前,每個用戶取最新一條獎金記錄,且用戶末鎖定 以前用的方法是直接寫在C#代碼中的:

HQL滿足條件最新記錄(max()函式的使用)

專案中要查詢滿足條件的最新一條記錄,用的是Hibernate框架,因此要使用HQL語句: from DeviceUseRecord where DeviceUseRecord.id =(select max(DeviceUseRecord.id) from DeviceUs

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)

sql中查詢每的最後資料

學號        分數                     測試時間 1               70              2011-10-21 20:21:32 1              85                2011-12-10 10:

Mysql和Oracl 分組前N記錄

MySQL取每組的前N條記錄:使用自連線的方式一、對分組的記錄取前N條記錄:例子:取前 2條最大(小)的記錄1234567891011121314151617181.用子查詢:SELECT * FROM right2 a  WHERE 2>(SELECT COUNT(*

sql 多資料最新資料

資料如下圖 ,id1即user_id 欄位有多組資料,我們只需要每個 user_id 的最新一條資料  使用 -- ROW_NUMBER() OVER ( PARTITION BY tlt.user_id order by tlt.handle_t

MYSQL GROUP BY查詢,結果只最新記錄

mysql 用 group by 查詢時,會自動保留   對應組 ‘最先搜尋出來的資料’,但這時資料可能不是最新的 如何設定保留 對應組‘最後搜尋出來的資料’ 呢?詳見程式碼 select * f

查詢資料庫時 採用 分組查詢並 獲取分組最新資料

使用原生可採用: SELECT * FROM lease_note ln WHERE ln.delete_time IS NULL AND ln.id = ( SELECT lns.id FROM lease_note

最新記錄

sql-- 方法1SELECT * FROM TB_GATEBUS G WHERE (G.AUTOFAREGATENO, G.DEFINEDATE) IN (SELECT GB.AUTOFAREGATENO, MAX(GB.DEFINEDATE) FROM TB_GATEBUS

mysql left join表中最近時間的資料

要求:根據狀態,最新編輯時間排序 狀態為表1中的使用者狀態,最新編輯時間為表2中最後一次編輯時間 表1為users, 表2為opt_user_log 例: SELECT u.id, u.user_name, u.last_upd_time AS audit_time, u.s

Oracle去除重複(某列的值重複),最新(日期欄位最新)的資料

解決思路:用Oracle的row_number() over函式來解決該問題。 解決過程:  1.查看錶中的重複記錄 select     t.id,     t.device_id,   &nb

mysql優化之資料庫隨機資料

大家都知道mysql 查詢資料庫隨機取一條資料當然用rand()方法  其實這個方法是超級雞肋的,當然你愛好也無所謂,首先列舉兩個表 a表   id(主鍵 int),cardnumber(身份證號碼 char(18)),name(使用者名稱 varchar(40))

mysql left join表中最近時間的資料

要求:根據狀態,最新編輯時間排序 狀態為表1中的使用者狀態,最新編輯時間為表2中最後一次編輯時間 表1為users, 表2為opt_user_log 例: SELECT u.id, u.user_name, u.last_upd_time AS audit_ti

[SQL]每個使用者最近記錄(分組Top n)

一直沒有時間寫分享,終於等到雙十一,任何需求都不準上,這才抽出時間整理一下蒐集了好幾天的SQL。 需求:查出使用者最近一條登入記錄。(110w條) 前提:預設時間和id都是遞增。(求時間最大->求id最大) 第一種:select * from user_log

mongoDB更新數裡面物件的屬性

MongoDB 如何更新數組裡面的一組物件的屬性? 如下面的例子 語法如下: db.collection.update( { }, { : { "array.$.field" : value } } ) db.students.insert ({ _id:

mysql 多表關聯一對多查詢最新資料 深坑等你

注意核心要點: yii2 多表關聯查詢單欄位去重沒有生效 原因是 單表的唯一查詢用:distinct 多表的唯一查詢用:group by –但是注意下面的坑 參考: https://blog.csdn.net/lkforce/article/det

group by 最新或者最後的資料

參考:http://blog.csdn.net/hfsaini/article/details/6675451 或者 SELECT aud.auditingState,aud.auditingInfoId FROMAuditingInfo aud,(SELECTah.*FR

angularjs2版本建立個數,將數裡面的內容通過資料繫結的形式迴圈到table表單中

 原始碼 元件裡面的template程式碼部分 <table id="table" class="table table-bordered table-responsive table-st