-2
SELECT COUNT(*) as Count, IF(sch.HomeTeamID = 34,true,false) AS Hawaii
FROM schedule sch 
JOIN schools s ON s.ID = 83 
WHERE (sch.HomeTeamID = 83 OR sch.AwayTeamID = 83)
AND sch.SeasonID = 4

count()を使用して結果を単純化しようとしていますが、結果の特定の列に特定の値が含まれているかどうかを表すフィールドも含まれています。これは可能ですか?基本的に、必要なすべての情報を含む行応答が必要です。

4

2 に答える 2

2

ホームチームが34であった回数を数えようとしている場合は、次のようにします。

SELECT 
    COUNT(*) as Count, 
    sum(sch.HomeTeamID = 34) AS Hawaii_home_count
...

ちなみに、条件の簡潔な合計はmysqlでのみ機能します。これは、mysqlではtrueが1で、falseが0であるため、sum(condition)はそれがtrueであった回数をカウントします(他のデータベースではcaseステートメントを使用する必要があります)

于 2012-12-11T23:01:38.533 に答える
0

持つ句を使用するのはどうですか?

SELECT COUNT(*) as Count
FROM schedule sch 
JOIN schools s ON s.ID = 83 
WHERE (sch.HomeTeamID = 83 OR sch.AwayTeamID = 83)
AND sch.SeasonID = 4
Having sch.HomeTeamID = 34
于 2012-12-11T23:04:17.450 に答える