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 的每个费率的总和,例如,对于技术代码 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 回答