0

次の SELECT を使用して、NFL のプレーごとのデータベースから 2012 年のラッシュ プレーをすべて取得しています。

Select gameid, season, off, description, qtr, down, ydstogoal 
FROM 2010_12pxp
WHERE DESCRIPTION LIKE "%up the middle%" OR DESCRIPTION REGEXP "(left|right) (tackle|guard|end)" OR DESCRIPTION REGEXP " rushe(d|s) for "
AND season = 2012
GROUP BY id

ただし、2012 年のプレイだけでなく、データベース内のすべての実行中のプレイが返されます。サンプルは次のとおりです。

gameid  season  off description qtr down    ydstogoal
20100909_MIN@NO 2010    NO  (13:36) R.Bush left end pushed ob at MIN 29 for 8 yards (M.Williams A.Allen).   1   2   37
20100909_MIN@NO 2010    MIN (12:56) A.Peterson right tackle to MIN 23 for 3 yards (R.Harper).   1   1   80
20100909_MIN@NO 2010    MIN (12:16) A.Peterson right tackle to MIN 28 for 5 yards (J.Vilma).    1   2   77
20100909_MIN@NO 2010    MIN (11:38) A.Peterson left guard to MIN 27 for -1 yards (S.Shanle J.Dunbar).   1   3   72
20100909_MIN@NO 2010    MIN (8:38) A.Peterson left tackle to MIN 41 for 2 yards (J.Vilma S.Shanle). 1   3   61
20100909_MIN@NO 2010    MIN (7:51) A.Peterson right end to NO 42 for 17 yards (R.Gay). PENALTY on MIN-V.Shiancoe Offensive Holding 10 yards enforced at MIN 41 - No Play.   1   2   59

シーズン (2012) および/またはチームのみでフィルタリングするにはどうすればよいですか?

前もって感謝します。

4

1 に答える 1

0

余分な括弧を使用する

Select gameid, season, off, description, qtr, down, ydstogoal 
FROM 2010_12pxp
WHERE 
(
   DESCRIPTION LIKE "%up the middle%" 
   OR DESCRIPTION REGEXP "(left|right) (tackle|guard|end)" 
   OR DESCRIPTION REGEXP " rushe(d|s) for "
)
AND season = 2012
GROUP BY id

そうしないと、クエリは次のように解釈されます

WHERE DESCRIPTION LIKE "%up the middle%" 
OR DESCRIPTION REGEXP "(left|right) (tackle|guard|end)" 
OR 
(
   DESCRIPTION REGEXP " rushe(d|s) for "
   AND season = 2012
)
于 2013-07-28T13:42:36.220 に答える