这种情况下的SQL(SQLite)查询?

时间:2014-03-29 19:05:24

标签: sql sqlite

有两个表

User
========
uid
name

Data
=========
distance
timeSpend
isShow
uid (FK)

我想获得以下citeria

的距离的订单列表(DESC)
1 ) in a specific timeSpend Range
2 ) group by the uid (Only select the longest Distance)
3 ) only isShow

尝试了以下查询,但没有运气。谢谢你的帮助

SELECT User.name, Data.distance, Data.timeSpend
FROM FROM User,Data
WHERE id IN (
    SELECT MAX(distance) FROM Data GROUP BY uid WHERE isShow = true
    )
AND User.uid = Data.uid
ORDER BY Data.distance DESC

1 个答案:

答案 0 :(得分:1)

您必须使用您喜欢的值填充between语句

SELECT u.name, MAX(distance) as max_distance
FROM User u
join Data d on u.uid = d.uid
WHERE isShow = 1
and d.timeSpend between 1 and 2
group by u.uid, u.uname
ORDER BY max_distance DESC