SQL 查询以查找多个 ID 的最新时间戳
SQL query to find the most recent timestamp for several ID's
我正在尝试 运行 returns 某组用户最后 'game' 执行的查询或操作。我不得不加入几张桌子才能最终得到我想要的东西,但这基本上 returns 现在每个用户都在玩游戏。我只想参加他们的最后一场比赛。我在查询中将 max(___) 添加到时间戳,但它最终只返回最近玩过的游戏,仅此而已。理想情况下,我希望看到每个用户及其最后的操作。
SELECT teamName, test_teams.userID, test_teams.timestamp AS signup, sponsorship, test_results.timestamp, stadium, win+draw+lose AS games
FROM test_teams
INNER JOIN test_profile
ON test_teams.userID = test_profile.userID
INNER JOIN test_results
ON test_teams.userID = test_results.homeTeamId
WHERE test_teams.timestamp >= '2015-11-04 00:00:00' and win+draw+lose > 100
ORDER BY games desc;
以下 SQL 语句为您提供每个团队的最新 timestamp/action:
SELECT MAX(timestamp) as latestTimestamp, homeTeamId
FROM test_results
GROUP BY homeTeamId
可以与其他2张表合并
SELECT teamName, tt.userID, tt.timestamp AS signup, sponsorship, tr.latestTimestamp, stadium, win+draw+lose AS games
FROM test_teams tt
INNER JOIN test_profile
ON test_teams.userID = test_profile.userID
INNER JOIN (
SELECT MAX(timestamp) as latestTimestamp, homeTeamId
FROM test_results
GROUP BY homeTeamId) tr
ON test_teams.userID = tr.homeTeamId
我正在尝试 运行 returns 某组用户最后 'game' 执行的查询或操作。我不得不加入几张桌子才能最终得到我想要的东西,但这基本上 returns 现在每个用户都在玩游戏。我只想参加他们的最后一场比赛。我在查询中将 max(___) 添加到时间戳,但它最终只返回最近玩过的游戏,仅此而已。理想情况下,我希望看到每个用户及其最后的操作。
SELECT teamName, test_teams.userID, test_teams.timestamp AS signup, sponsorship, test_results.timestamp, stadium, win+draw+lose AS games
FROM test_teams
INNER JOIN test_profile
ON test_teams.userID = test_profile.userID
INNER JOIN test_results
ON test_teams.userID = test_results.homeTeamId
WHERE test_teams.timestamp >= '2015-11-04 00:00:00' and win+draw+lose > 100
ORDER BY games desc;
以下 SQL 语句为您提供每个团队的最新 timestamp/action:
SELECT MAX(timestamp) as latestTimestamp, homeTeamId
FROM test_results
GROUP BY homeTeamId
可以与其他2张表合并
SELECT teamName, tt.userID, tt.timestamp AS signup, sponsorship, tr.latestTimestamp, stadium, win+draw+lose AS games
FROM test_teams tt
INNER JOIN test_profile
ON test_teams.userID = test_profile.userID
INNER JOIN (
SELECT MAX(timestamp) as latestTimestamp, homeTeamId
FROM test_results
GROUP BY homeTeamId) tr
ON test_teams.userID = tr.homeTeamId