分享
  • 收藏
    X
    面试遇到的SQL语句编写问题,求解答
    50
    0

    题目描述

    面试遇到这样一个问题:
    有一个用户下载文件的表 'file_download',如下:

    id uid fid status
    1 1 1 0
    2 1 1 1
    3 2 1 1
    4 2 2 0
    5 2 2 1
    6 1 3 1
    7 3 3 0

    ...

    uid 代表用户ID,fid 代表文件ID,`status代表文件下载状态,0是失败,1是成功。
    用户若下载文件失败,可以继续下载,一旦下载成功,就不会再下载该文件。

    让查出用户第一次下载文件就成功的记录。

    自己的思路

    我给的答案是这样的:

    SELECT * FROM file_download GROUP BY uid,fid HAVING `status`=1;

    但是面试官似乎不太满意,问我是否还有其他的方法?

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    更多回答
    扫一扫访问手机版

    回答动态

    设计达人:发布了悬赏问题9414754预计能赚取 0积分收益
    ID也是麻烦事:发布了悬赏问题9414754预计能赚取 0积分收益
    视觉设计:发布了悬赏问题9414754预计能赚取 0积分收益
    爱素材:发布了悬赏问题9414754预计能赚取 0积分收益
    顺姐财姐:发布了悬赏问题9414754预计能赚取 0积分收益
    還好有妳、:发布了悬赏问题9414754预计能赚取 0积分收益
    傷感男丶:发布了悬赏问题9414754预计能赚取 0积分收益
    wcjadmin:发布了悬赏问题9414754预计能赚取 0积分收益
    ╰╮琉璃苣:发布了悬赏问题9414754预计能赚取 0积分收益
    第一财经:发布了悬赏问题9414754预计能赚取 0积分收益