加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

MAX(DATE) – SQL ORACLE

发布时间:2020-12-12 06:21:49 所属栏目:MsSql教程 来源:网络整理
导读:我想从表user_payments中只选择最新的membership_id user_id等于1的用户. 这就是表user_payment的样子: PAYM_ID USER_ID MEMBSHIP_ID PAYM_DATE ---------- ---------- ----------- ------------------------------- 1 1 1 18-DEC-09 12.00.00.000000000 AM
我想从表user_payments中只选择最新的membership_id
user_id等于1的用户.

这就是表user_payment的样子:

PAYM_ID    USER_ID MEMBSHIP_ID PAYM_DATE                     
---------- ---------- ----------- -------------------------------
         1          1           1 18-DEC-09 12.00.00.000000000 AM 
         2          1           2 18-DEC-10 12.00.00.000000000 AM 
         3          1           2 18-DEC-11 12.00.00.000000000 AM 
         4          2           3 17-MAR-11 12.00.00.000000000 AM 
         5          3           3 18-JUN-12 12.00.00.000000000 AM 
         6          4           2 17-FEB-12 12.00.00.000000000 AM 
         7          5           2 18-FEB-11 12.00.00.000000000 AM 
         8          5           2 18-FEB-12 12.00.00.000000000 AM 
         9          6           1 01-JUN-12 12.00.00.000000000 AM 
        10          7           1 03-FEB-11 12.00.00.000000000 AM 
        11          7           2 03-FEB-12 12.00.00.000000000 AM

我尝试以下代码没有成功:

SELECT MEMBSHIP_ID
FROM user_payment
WHERE user_id=1 and MAX(paym_date);

我收到这个错误:
SQL错误:ORA-00934:此处不允许组功能
00934. 00000 – “此处不允许群组功能”

我该如何解决?提前致谢!

解决方法

select * from 
  (SELECT MEMBSHIP_ID
   FROM user_payment WHERE user_id=1
   order by paym_date desc) 
where rownum=1;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读