2016-09-26 2 views
-2

私はこのsqliteクエリーで間違っていることを理解しようとしています。sqliteクエリで何が問題になっていますか?

SELECT count(id),player,matchId 
FROM Goals 
GROUP BY matchId,player 
WHERE Goals > 2; 

編集:混乱のために申し訳ありません。 group by

SELECT count(id),player,matchId 
FROM Goals 
WHERE Goals > 2 
GROUP BY matchId,player 
+0

'Goals'テーブルの中に' Goals'という名前の列がありますか? –

+0

正確なエラーメッセージは何ですか?テーブル 'ゴール'に 'ゴール'という列がありますか? – redneb

+0

いいえ、それは私には間違っていましたが、適合しておらず、 "GROUP"の近くにエラーメッセージが表示されます:構文エラー。 –

答えて

2

Goalsがテーブルである前に

+0

"GROUP"の近くにエラーが表示されます。構文エラーです。 –

+0

@ J.A.R.E.D。 。 。構文は、http://www.sqlfiddle.com/#!7/a7567で問題ありません。 –

1

whereは行きます。それを数字と比較することはできません。どのようにについて:また

SELECT count(id), player, matchId 
FROM Goals 
GROUP BY matchId, player 
HAVING count(id) > 2; 

  • WHERE、集計関数を扱うHAVINGを使用し、しないように。
  • SELECTGROUP BYには、同じ順序で集約列を配置する必要があります。ちょうどきちんとしてください。
  • 好きな場合は列エイリアスを使用できますが、カウントにはエイリアスはありません。
関連する問題