2 linkangjie linkangjie 于 2013.08.09 20:48 提问

SQL消费表中查找所有用户最后一条消费记录

BussnissLogs表中字段BussnissLogsID(消费流水ID),UserID(用户ID),HappeningTime(消费时间)

这个SQL应该怎么写呢?

2个回答

sutanghaha
sutanghaha   2013.08.14 22:37
已采纳

select *,row_number()over(partition by user_id order by happeningtime desc) as rn from bussinesslogs where rn='1'
希望对你有帮助,你可以搜索下row_number函数的使用方法,然后再尝试看能否解决这个问题。
楼上的方法好像不太对,应为判断最后一条记录的是时间,应该不是消费流水号。

heli_1991
heli_1991   2013.08.12 09:55

select * from BussnissLogs where BussnissLogsID
in (
select max(BussnissLogsID) from BussnissLogs group by UserID
)

试一下看行不行

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
查询每个年龄的顾客消费金额数的SQL语句
有三个表,书籍表book(id,name,price)和顾客表customer(id,name,age)以及订单表orders(id,bookid,customerid)。 请写出查询每个年龄的顾客消费金额数的SQL语句。 书籍表: 顾客表: 订单表: select `orders`.`id` AS `id`,`orders`.`bookid` A
sql如何查询表的第一条记录和最后一条记录
问题: sql如何查询表的第一条记录和最后一条记录方法一:使用topselect TOP 1 * from apple;select TOP 1 * from apple order by id desc;(备注:top是Access的语法,MySQL不支持)方法二:使用LIMIT第一条记录mysql> select * from apple LIMIT 1;默认升序,等价于mysql> sele
MySQL--根据审核时间排序,查询最后一次审核的物品采购记录
select *   from (select a.CheckDate, b.ProductID, b.Count, b.Price           from tpurchase a, tpurchasedetail b          where a.`Status` in (3, 4)            and a.CheckDate is not null
oracle 编写sql语句获取表中的最后一条数据
select p.* from (select * from t_cfg_menu t order by t.menu_id desc) p where rownum = 1首先查询表中数据按降序排列,然后通过“rownum = 1”获取第一条数据,即是原表中的最后一条数据!
mysql 查询每个人、每个月的消费金额及每年的消费总额
最近按需求实现会员年报表, 假设现有会员表member、订单表i_order, member表字段(id, member_name, xxxx), i_order表字段(id,member_id,handle_time,money,order_status,xxxx); 思路如下: 分别查询12个月及全年各会员消费总额,得到13个表,再将这13个表与member表通过le
Oracle 、sql如何查询表的第一条记录和最后一条记录
转载自http://blog.csdn.net/lanyang123456/article/details/55806160 Oracle 查询出来的数据取第一条 select * from (select * from order by ) where rownum=1; select * from (select * from order by desc) where ro
SQL 查询表的第一条数据 和 最后一条数据
SQL 查询表的第一条数据 和 最后一条数据
sql中查询每组的最后一条数据
学号        分数                     测试时间 1               70              2011-10-21 20:21:32 1              85                2011-12-10 10:19:02 2              49               2012-02-11 13:32:45 2
Android sqlite3查询表中最后一条记录
sqlite3中貌似没有关于top函数的语法,所以如果需要查找表中最后一条记录可采用如下方法:   比如:查找表sensor中address为aaaa::11:22ff:fe33:4461的最后一条记录 [sql] view plaincopy select * from sensor where address = 'aaaa::1
MYSQL 每个用户取1条记录的三种写法(group by xxx)
今天以前的同学问我关于这方面的SQL语句,我特意记忆一下,毕竟这个也比较常见了 select * from (select * from member_payment order by id desc) t group by member_id limit 10第一种是先排序,然后group,这样的话自然可以取到最适合的一条数据。 缺点很明显:Usin