0

PHPフロントエンドを備えたMySQLデータベースを介して、クラスや会議への遅刻を記録するためのWebインターフェイスをセットアップしようとしています。データベースをセットアップしましたが、すべての遅延を追加する方法がわかりません。データベースには、7つの列があります。1日の遅延を追跡する期間ごとに1つです(firstPeriodTardies、secondPeriodTardiesなど)。それらすべてを合計して、DB内の選択した人のページに表示するにはどうすればよいですか?これまでのところ、私はこれを持っています:

$f12=mysql_query(SELECT firstPeriodTardy+secondPeriodTardy+thirdPeriodTardy+fourthPeriodTardy+fifthPeriodTardy+sixthPeriodTardy+seventhPeriodTardy AS LTOTAL FROM students WHERE ID = '$sID';) ?>

しかし、リストの各人に対してそれを行う方法がわかりません。リストは、それぞれがページに表示される最大100人で構成されます。その部分は私にできますが、この部分はできません。WHERE ID ='$ sID';)で私を獲得したもの。そのIDに一致する特定のエントリを呼び出すことを想定していますが、各人の各IDを手動で入力することはできません。何を試してみればいいですか?

ありがとう!

編集:私のDBは次のようにレイアウトされています:DBセットアップhttp://ubuntu.rossiv.com/stack-mysqldbtardy.png

4

1 に答える 1

0

GROUP BY句を使用する必要があります。

SELECT firstPeriodTardy+secondPeriodTardy+...+seventhPeriodTardy AS LTOTAL 
FROM students 
GROUP BY ID

GROUP BY [colname]結果を集計します (つまり、の一意の値SELECT ...ごとに の結果を返します。[colname]

GROUP BY [colname]
<=>
for each value in unique(colname):
    SELECT xxxx
    WHERE [colname] = value

したがって、あなたの場合、それは unique ごとに遅刻を数えますID

于 2012-01-09T23:37:09.480 に答える