代码之家  ›  专栏  ›  技术社区  ›  Bruce

mysql-显示按时间排序的用户列表

  •  0
  • Bruce  · 技术社区  · 7 年前

    我有一个页面,我想显示谁已经注册了付费订阅的用户名单。

    subscribed_time 另一个名为 paid_subs .

    这是我正在使用的查询

    SELECT * 
      FROM user 
     WHERE EXISTS
         ( SELECT * 
             FROM paid_subs 
            WHERE paid_subs.user_id= user.id 
            ORDER 
               BY paid_subs.subscribed_time DESC)
    

    我想查询显示一个列表中的付费用户 订阅时间

    2 回复  |  直到 7 年前
        1
  •  0
  •   Madhur Bhaiya    7 年前

    使用以下查询:

    SELECT u.*  -- please change this to specific fields, eg: u.id, u.name etc 
    FROM user AS u 
    INNER JOIN paid_subs ps ON ps.user_id = u.id 
    ORDER BY ps.subscribed_time DESC
    
        2
  •  0
  •   Shadow    7 年前

    Exists 只需检查相应的记录是否存在,并返回正确或错误的结果。如果要按另一个表中的字段排序,则必须使用联接。

    SELECT * FROM user
    INNER JOIN paid_subs ON paid_subs.user_id= user.id
    ORDER BY paid_subs.subscribed_time DESC