婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MySQL group by和order by如何一起使用

MySQL group by和order by如何一起使用

熱門標簽:信陽穩定外呼系統運營商 百度地圖圖標標注中心 日照旅游地圖標注 芒果電話機器人自動化 湖南人工外呼系統多少錢 申請外呼電話線路 石家莊電商外呼系統 廣東人工電話機器人 南通自動外呼系統軟件

假設有一個表:reward(獎勵表),表結構如下:

CREATE TABLE test.reward (
 id int(11) NOT NULL AUTO_INCREMENT,
 uid int(11) NOT NULL COMMENT '用戶uid',
 money decimal(10, 2) NOT NULL COMMENT '獎勵金額',
 datatime datetime NOT NULL COMMENT '時間',
 PRIMARY KEY (id)
)
ENGINE = INNODB
AUTO_INCREMENT = 1
CHARACTER SET utf8
COLLATE utf8_general_ci
COMMENT = '獎勵表';

表中數據如下:

現在需要查詢每個人領取的最高獎勵并且從大到小排序:

如果直接查詢:

SELECT id, uid, money, datatime FROM reward GROUP BY uid ORDER BY money DESC;

得到如下結果:

沒有得到我們需要的結果,這是因為group by 和 order by 一起使用時,會先使用group by 分組,并取出分組后的第一條數據,所以后面的order by 排序時根據取出來的第一條數據來排序的,但是第一條數據不一定是分組里面的最大數據。

方法一:

既然這樣我們可以先排序,在分組,使用子查詢。

SELECT
 r.id,
 r.uid,
 r.money,
 r.datatime
FROM (SELECT
  id,
  uid,
  money,
  datatime
 FROM reward
 ORDER BY money DESC) r
GROUP BY r.uid
ORDER BY r.money DESC;

方法二:

如果不需要取得整條記錄,則可以使用 max() min()

SELECT id, uid, money, datatime, MAX(money) FROM reward GROUP BY uid ORDER BY MAX(money) DESC;

得到結果:

可能你已經發現了,使用max()取得的記錄,money字段和max(money)字段不一致,這是因為這里只是取出了該uid的最大值,但是該最大值對應的整條記錄沒有取出來。

如果需要取得整條記錄,則不能使用這種方法,可以使用子查詢。

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

您可能感興趣的文章:
  • mysql中count(), group by, order by使用詳解
  • 深度分析mysql GROUP BY 與 ORDER BY
  • mysql中order by與group by的區別
  • 深入解析mysql中order by與group by的順序問題
  • Mysql中order by、group by、having的區別深入分析
  • mysql分組取每組前幾條記錄(排名) 附group by與order by的研究
  • mysql "group by"與"order by"的研究--分類中最新的內容

標簽:天津 公主嶺 合肥 呼和浩特 牡丹江 惠州 沈陽 阿里

巨人網絡通訊聲明:本文標題《MySQL group by和order by如何一起使用》,本文關鍵詞  MySQL,group,和,order,如何,一起,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL group by和order by如何一起使用》相關的同類信息!
  • 本頁收集關于MySQL group by和order by如何一起使用的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 胶州市| 灵台县| 成武县| 八宿县| 宁阳县| 井冈山市| 将乐县| 南康市| 祁连县| 城步| 东丽区| 南岸区| 乐业县| 阿荣旗| 隆德县| 本溪市| 光泽县| 响水县| 江孜县| 普兰店市| 高淳县| 昌江| 正镶白旗| 壶关县| 日土县| 三亚市| 邵东县| 招远市| 德安县| 乐亭县| 长沙市| 莫力| 虎林市| 桃江县| 合川市| 蒙阴县| 合川市| 潞城市| 罗田县| 新源县| 拉孜县|