Mysql 查詢不重復數據


 

用戶表

app表

用戶記錄表

現在要想查出用戶點擊的記錄的列表,並且按照用戶,時間排序,去掉重復的數據

select distinct a.* from (select n.name,u.phone,n.startmoney,n.endmoney,n.type from loan_record r
inner join loan_user u on u.id=r.uid
inner join loan_name n on n.id=r.appid
where r.uid in (select distinct uid from loan_record order by createdate desc) order by u.phone,r.createdate desc) as a
where a.name='微貸'

等價於:

select distinct a.* from (select r.uid,n.id,n.name,n.img,n.type,n.summary,n.count,n.star from loan_name n,loan_record r
where n.id=r.appid order by r.uid,r.createdate desc) as a;

 

 

 

如果不去掉重復的,直接這樣就行了

select u.phone,n.name,n.startmoney,n.endmoney,n.type from loan_record r
inner join loan_user u on u.id=r.uid
inner join loan_name n on n.id=r.appid
order by r.createdate desc;

 

同時記錄下之前寫的代碼,讀者可忽略

select * from (select * from (
select r.uid as uid,r.cid as cid,c.rank as rank,b.bookname as bookName,b.cover as cover,r.read_date as readDate,
b.id as bid,b.majorcate as majorCate,b.is_over as isOver
from record r
inner join user u on u.id=r.uid and r.uid=#{record.uid}
inner join chapter c on c.id=r.cid
inner join book b on b.id=c.bid
group by r.uid,r.cid
order by c.rank)aa ORDER BY uid asc,rank desc)cc group by bid ORDER BY readDate desc


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM