1

sum(hours)1 つの SQL コマンドで、このテーブル内の複数の名前を示す出力を取得するにはどうすればよいですか?

理想的な出力は、たとえば、その日の各人の合計時間である下の表に基づいて (20, 70) になります。

現在の SQL。

SELECT sum(hours) from project_time where date = '04/07/2013' AND name = 'Rhys Parker'

上記のSQLは私が望む結果をもたらしますが、それは1人のユーザーに対してのみです.その日にすべてのユーザーの出力を取得したいと思います.

DB テーブル:

データベーステーブル

DB 構造: SQLITE

CREATE TABLE PROJECT_TIME ( name VARCHAR(16), date DATE, project VARCHAR(16), hours VARCHAR(16), PRIMARY KEY (name, project, date))
4

4 に答える 4

3

を追加しGROUP BYます。とともに集計関数を使用するGROUP BYと、テーブルにある各 DISTINCT 名の結果が得られます。

SELECT name, sum(hours) TotalHours
from project_time 
where date = '04/07/2013'
GROUP BY name

デモで SQL Fiddle を参照してください

于 2013-04-04T03:13:04.417 に答える
2

あなたが使用する必要があるように聞こえますGROUP BY

SELECT name, sum(hours) 
FROM project_time 
WHERE date = '04/07/2013' 
GROUP BY name

これにより、各名前の時間の合計が得られます。

Rhys Parker 70
Bob Smith   20

SQL フィドルのデモ

于 2013-04-04T03:13:00.350 に答える
2

次の基準でグループ化します。

SELECT name, sum(hours)
from project_time
where date = '04/07/2013'
group by name
于 2013-04-04T03:13:20.873 に答える
1

代替案を提供するために、すべての日付でそれが必要な場合は、

  SELECT name,date, sum(hours) as TotalHours
   from project_time 
    GROUP BY name,date;
于 2013-04-04T03:14:57.923 に答える