關(guān)于MYSQL中每個(gè)用戶取1條記錄的三種寫法(group by xxx)
更新時(shí)間:2013年07月02日 11:14:51 作者:
本篇文章是對(duì)MYSQL中每個(gè)用戶取1條記錄的三種寫法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
今天以前的同學(xué)問我關(guān)于這方面的SQL語(yǔ)句,我特意記憶一下,畢竟這個(gè)也比較常見了
select * from (select * from member_payment
order by id desc) t group by member_id limit 10
第一種是先排序,然后group,這樣的話自然可以取到最適合的一條數(shù)據(jù)。
缺點(diǎn)很明顯:Using temporary; Using filesort
select s.*
from (SELECT max(id) as id FROM `member_payment` group by `member_id` limit 10) t
left join `member_payment` as s on t.id=s.id
第二種是聯(lián)合查詢
select * from `member_payment` where EXISTS (
select `id` from (
SELECT max(`id`) as id FROM `member_payment` group by `member_id` limit 10) t
where t.`id`=`member_payment`.`id`
)
第三種是子查詢
竊以為第二種效率最高
復(fù)制代碼 代碼如下:
select * from (select * from member_payment
order by id desc) t group by member_id limit 10
第一種是先排序,然后group,這樣的話自然可以取到最適合的一條數(shù)據(jù)。
缺點(diǎn)很明顯:Using temporary; Using filesort
復(fù)制代碼 代碼如下:
select s.*
from (SELECT max(id) as id FROM `member_payment` group by `member_id` limit 10) t
left join `member_payment` as s on t.id=s.id
第二種是聯(lián)合查詢
復(fù)制代碼 代碼如下:
select * from `member_payment` where EXISTS (
select `id` from (
SELECT max(`id`) as id FROM `member_payment` group by `member_id` limit 10) t
where t.`id`=`member_payment`.`id`
)
第三種是子查詢
竊以為第二種效率最高
相關(guān)文章
MySQL?DDL執(zhí)行方式Online?DDL詳解
這篇文章主要介紹了MySQL?DDL執(zhí)行方式Online?DDL詳解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,感興趣的小伙伴可以參考一下2022-09-09Linux下安裝mysql的方式(yum和源碼編譯兩種方式)
這里介紹Linux下兩種安裝mysql的方式:yum安裝和源碼編譯安裝。需要的朋友可以參考下2018-02-02mysql中binlog_format模式與配置詳細(xì)分析
這篇文章主要介紹了mysql中binlog_format模式與配置的相關(guān)內(nèi)容,詳細(xì)介紹了binlog的三種格式與SBR、 RBR 兩種模式各自的優(yōu)缺點(diǎn),需要的朋友可以參考。2017-10-10MySQL數(shù)據(jù)庫(kù)-錯(cuò)誤1166 Incorrect column name
這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)-錯(cuò)誤1166 Incorrect column name,需要的朋友可以參考下2016-04-04Java數(shù)據(jù)類型與MySql數(shù)據(jù)類型對(duì)照表
這篇文章主要介紹了Java數(shù)據(jù)類型與MySql數(shù)據(jù)類型對(duì)照表,以表格形式分析了java與mysql對(duì)應(yīng)數(shù)據(jù)類型,并簡(jiǎn)單講述了數(shù)據(jù)類型的選擇與使用方法,需要的朋友可以參考下2016-06-06mysql多表聯(lián)合查詢返回一張表的內(nèi)容實(shí)現(xiàn)代碼
在使用mysql多表聯(lián)合查詢時(shí)怎樣可以做到只返回返回一張表的內(nèi)容,本文將詳細(xì)介紹,需要了解的朋友可以參考下2012-12-12