我目前正在使用vb.net和mysql数据库进行项目开发,我只想问一下我如何能够在格式为hh:mm:sec的mysql工作台中的一列中总结2个或更多个时间条目。
例如,我将这些数据存储在数据库中:
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
public class LayoutManagerTest {
public static void main( String[] args ) {
JFrame f1 = new JFrame( "BorderLayout" );
f1.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
f1.add( new JButton( "btn1" ) );
f1.add( new JButton( "btn2" ) );
f1.add( new JButton( "btn3" ) );
f1.add( new JButton( "btn4" ) );
f1.add( new JButton( "btn5" ) );
f1.setSize( 500, 200 );
f1.setLocationRelativeTo( null );
JFrame f2 = new JFrame( "BorderLayout with regions" );
f2.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
f2.add( new JButton( "btn1" ), BorderLayout.NORTH );
f2.add( new JButton( "btn2" ), BorderLayout.SOUTH );
f2.add( new JButton( "btn3" ), BorderLayout.WEST );
f2.add( new JButton( "btn4" ), BorderLayout.EAST );
f2.add( new JButton( "btn5" ), BorderLayout.CENTER );
f2.setSize( 500, 200 );
f2.setLocationRelativeTo( null );
JFrame f3 = new JFrame( "FlowLayout" );
f3.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
f3.setLayout( new FlowLayout() );
f3.add( new JButton( "btn1" ) );
f3.add( new JButton( "btn2" ) );
f3.add( new JButton( "btn3" ) );
f3.add( new JButton( "btn4" ) );
f3.add( new JButton( "btn5" ) );
f3.setSize( 500, 200 );
f3.setLocationRelativeTo( null );
f1.setVisible( true );
f2.setVisible( true );
f3.setVisible( true );
}
}
样品表
总数应为 10:05:02
我尝试使用此查询求和整个列数据,但我认为我做错了。
|03:45:00|
|03:12:00|
|03:08:57|
答案 0 :(得分:1)
您无法使用SUM
彼此直接添加时间值。相反,您需要将其转换为可以求和(数字)的值,例如使用TIME_TO_SEC
。然后,您可以将总和转换回时间格式(使用SEC_TO_TIME
和TIME_FORMAT
)进行显示:
SELECT TIME_FORMAT(SEC_TO_TIME(SUM(TIME_TO_SEC(Hours_worked))), '%H:%i:%s') AS Total
FROM db_project
WHERE Date_of_entry BETWEEN '2019-02-04' AND '2019-02-15'
输出:
10:06:02