主頁 > 知識庫 > Mysql利用group by分組排序

Mysql利用group by分組排序

熱門標簽:清遠申請400電話 南通電銷外呼系統哪家強 谷歌地圖標注位置圖解 地圖簡圖標注 東莞外呼企業(yè)管理系統 桂林云電銷機器人收費 如何選擇優(yōu)質的外呼系統 沈陽智能外呼系統供應商 手機外呼系統違法嗎

昨天有個需求對數據庫的數據進行去重排名,同一用戶去成績最高,時間最短,參與活動最早的一條數據進行排序。我們可以利用MySQL中的group by的特性。

MySQL的group by與Oracle有所不同,查詢得字段可以不用寫聚合函數,查詢結果取得是每一組的第一行記錄。

利用上面的特點,可以利用mysql實現一種獨特的排序;

首先先按某個字段進行order by,然后把有順序的表進行分組,這樣每組的成員都是有順序的,而mysql默認取得分組的第一行。從而得到每組的最值。

select id, (@rowno := @rowno + 1) as rank,
 score,
 (C.end_time - C.start_time) as timeConsuming,
 start_time,
 real_name,
 tel,
 expiry_code
 from (SELECT *
  FROM (select *
   from t_q_order B
   where B.score > 0
   and B.tel IS NOT NULL
   order by B.score desc,
    (B.end_time - B.start_time) asc,
    B.start_time asc) as A
  group by A.tel
  ORDER BY A.score desc,
   (A.end_time - A.start_time) asc,
   A.start_time asc) 
 as C,
 (select @rowno := 0) t
 where (C.end_time - C.start_time) > 5 limit 0,50;

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • Mysql中的排序規(guī)則utf8_unicode_ci、utf8_general_ci的區(qū)別總結
  • 讓MySQL支持中文排序的實現方法
  • mysql如何根據漢字首字母排序
  • Mysql row number()排序函數的用法和注意
  • Mysql select in 按id排序實現方法
  • 兩種mysql對自增id重新從1排序的方法
  • 數據庫查詢排序使用隨機排序結果示例(Oracle/MySQL/MS SQL Server)
  • MySQL中按照多字段排序及問題解決
  • MySQL查詢優(yōu)化:連接查詢排序limit(join、order by、limit語句)介紹
  • MySQL中一些鮮為人知的排序方式

標簽:天津 貴州 湖州 成都 臨沂 內蒙古 常德 重慶

巨人網絡通訊聲明:本文標題《Mysql利用group by分組排序》,本文關鍵詞  Mysql,利用,group,分組,排序,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Mysql利用group by分組排序》相關的同類信息!
  • 本頁收集關于Mysql利用group by分組排序的相關信息資訊供網民參考!
  • 推薦文章