我有一个带下表的sqlite数据库:
CREATE TABLE games (name text, date text, winloss int, gameid int, pointsfor int, pointsagainst int);
两个示例记录如下所示:
Anna A, 7/12/13, 0, 345, 56, 28
Barley B, 7/12/13, 1, 345, 28, 56
(大麦的球队输了,安娜的赢了。每场比赛每队都有几名球员。)我想创建一个查询,该查询将返回所有有x个玩家在一个团队而y个玩家在另一个团队的游戏,以及这些游戏的累积结果。游戏。
我知道如何使用perl和csv文件来执行此操作,并且我相信我可以对dbi接口使用相同的方法。但是,我想学习如何仅使用SQL查询来创建此报告。我是SQL的新手,我怀疑该解决方案可能涉及使用CASE
WHEN或JOIN旋转表以创建新表。但我看不到该怎么做。
此查询将返回所有玩家所在的团队并赢得(或失败,取决于winloss的值)的所有游戏:
select gameid,date from games
where name in ('Anna A', 'Barley B') and winloss=1
group by gameid
having count(*)>1;
但是我不知道如何概括该查询以返回与另一支球队的球员的比赛。
这将为您提供A和B胜过C,D和E的所有游戏路线。
select *
from games
where gameid in
(select gameid from games
where name in ('Anna A', 'Barley B') and winloss=1
group by gameid
having count(*) = 2
intersect
select gameid from games
where name in ('Charly C', 'Dave D', 'Ed E') and winloss = 0
group by gameid
having count(*) = 3) ;
或者,您可以使用:
select *
from games where gameid in (
select gameid from games where name = 'Anna A' and winloss = 1 intersect
select gameid from games where name = 'Barley B' and winloss = 1 intersect
select gameid from games where name = 'Charly C' and winloss = 0 intersect
select gameid from games where name = 'Dave D' and winloss = 0 intersect
select gameid from games where name = 'Ed E' and winloss = 0
) ;
最适合您的。
然后sum
,您可以添加和group by
以获得累积结果。
问题内容: 我有这个查询,我想选择那个选择的反函数。 有没有简单的方法可以解决我的问题? 问题答案: 只需使用以下查询:
我现在在大学学习数据库,在我的项目中,我有3个表:、和 联赛(leagueId,leagueName) 团队(teamId,teamName) 具有(leagueId,teamId,year)
我正在尝试为我的网站创建一个最喜欢的系统。我有一个用户表、作业表和一个收藏夹表。当用户将作业添加到他们的收藏夹中时,他们的用户ID和jobsId将保存到favorites表中。当用户想要查看他们的收藏夹时,我一直试图选择favorites表中与当前用户具有相同userId的所有行。然后,我需要从这些行中选择JobID,并选择job表中具有匹配JobID的所有行。 我一直在尝试这个查询的变体,但没有
我在寻找一个特定点周围的距离。 我在我的数据库中有这些项目,带有lat和long。 我想得到指定半径范围内的所有结果。 我就是这样得到的: 现在它给了我一个错误: SQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解第4行(SQL:select*,(6371*acos(cos(radians(51,3))*cos(radia
问题内容: 我很难编写一个SELECT查询以获取下表中的数据… 这是桌子的照片… http://i44.tinypic.com/29dxx81.png 我正在尝试显示数量大于10的所有项目零件的零件名称(pname)。但是,数量似乎仅在子菜单展开时出现,并且我在选择它时遇到了麻烦… 谢谢 问题答案: 你有没有尝试过: 编辑:
select 数据库查询select($table, $columns, $where) table [string] 表名. columns [string/array] 要查询的字段名. where (optional) [array] 查询的条件.select($table, $join, $columns, $where) table [string] 表名. join [array] 多