我有一个页面,我想显示已注册付费订阅的用户列表。
该列表应根据另一个名为var unauthorizedPaths = [ '/', '/auth']
app.all('*', function(req, res, next) {
if(unauthorizedPaths.indexOf(req.path) === -1) {
if(req.user)
next()
else {
res.redirect('/auth/login')
res.end()
}
}
})
的表中的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)
排序的顺序显示付费用户列表。
答案 0 :(得分:0)
Exists
只需检查相应记录是否存在并返回正确或错误的结果。如果要按另一个表中的字段排序,则必须使用联接。
SELECT * FROM user
INNER JOIN paid_subs ON paid_subs.user_id= user.id
ORDER BY paid_subs.subscribed_time DESC
答案 1 :(得分:0)
*
)。阅读:Why is SELECT * considered harmful? 使用以下查询:
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