mysql去除重复查询的SQL语句基本思路

SELECT R.* FROM trans_flow  R, (SELECT order_no, MAX(status_time) AS status_time FROM trans_flow GROUP BY order_no) S 
WHERE R.order_no = S.order_no AND R.status_time = S.status_time 
ORDER BY R.status_time DESC 

SELECT a.order_no,a.mem_no,c.card_no,c.card_holder,c.bank_name,c.branch_bank_name,a.flag, a.income_type_txt,a.amt,a.create_time FROM account_log a  
JOIN (SELECT b.*,MAX(id) FROM account b GROUP BY b.mem_no) c 
ON DATE_ADD(a.create_time, INTERVAL 7 DAY) < NOW() AND a.`mem_no` = c.mem_no  
ORDER BY a.id DESC 

解决思路:
结构如下:
type name guest       date
1   aa       sa           20131101
1   bb      dsf           20131102
1   aa      wew         20131103
我想按照name分组,按照date降序排列,希望的结果如下:
type name guest   date
1   aa       wew     20131103
1   bb       dsf       20131102

select R.* from tab  R, (select name, max(date) from tab group by name) S
where R.name=S.name and R.date=S.date
order by R.date desc

转载于:https://www.cnblogs.com/simpledev/p/3966975.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值