1

次のクエリがあります。

SELECT num_hours, rate, st.tech_code
FROM ost_hours ht
LEFT JOIN ost_staff st ON ht.tech_code = st.tech_code
LIMIT 0 , 30

その結果、次のようになります。

num_hours   rate            tech_code
20          overtime_rate   2
4           overtime_rate   1
10          normal_rate     1
1           overtime_rate   4
1           overtime_rate   4
2           normal_rate     4
3           normal_rate     4
1.5         normal_rate     6
1.5         normal_rate     6
2           normal_rate     4
1           normal_rate     4

結果として得たいのは、各 tech_code のレートごとの合計です。たとえば、tech コード 4 と 6 の場合は次のようになります。

total_hours rate            tech_code
8           normal_rate     4
2           overtime_rate   4
3           normal_rate     6

それが明確であることを願っています。私が行ったことはすべて、予期しない不正確なデータをもたらしました。group by を使用する必要があると思いますが、何かを試すたびに、結果はまったく奇妙になります。

編集:紛らわしい「カウント」を「合計」に変更

4

2 に答える 2

3
select sum(num_hours) as total_hours, 
    rate,
    st.tech_code
from ost_hours ht
left join ost_staff st on ht.tech_code = st.tech_code
group by rate,
    st.tech_code
于 2012-07-12T17:46:17.917 に答える
0

これを試して::

SELECT SUM(num_hours) as num_hours, rate, st.tech_code
FROM ost_hours ht
LEFT JOIN ost_staff st ON ht.tech_code = st.tech_code 
group by rate
于 2012-07-12T17:45:51.703 に答える