我想计算约翰从2012-01-01日期到2012-01-25工作5小时的次数。
DATE | Name | Hours Worked |
---------------------------------
2012-01-25| John | 5 |
2012-01-25| Bob | 3 |
2012-01-26| John | 6 |
2012-01-27| Bob | 7 |
我对php有点新,欢迎任何帮助。
答案 0 :(得分:1)
SELECT COUNT(*) FROM table WHERE Name = 'John' AND Hours = '5' AND Date > '2012-01-01' AND Date < 2012-01-25
答案 1 :(得分:0)
SELECT COUNT(Name) FROM table WHERE Date >= '2012-01-01' AND Date <= '2012-01-25' AND Name = 'John' AND HoursWorked = '5'
应该这样做。
答案 2 :(得分:0)
假设您使用的是像“wamp / xamp”这样的本地主机,并且您的数据库名称是test,而您的表名是user,请按照以下代码进行操作,您将获得答案。
首先转到你的localhost / phpmyadmin然后创建一个数据库“test”,在sql窗口上写下面的代码
CREATE TABLE user(`date` DATE NOT NULL ,`name` VARCHAR( 60 ) NOT NULL ,`hour_worked` INT NOT NULL ,`id` INT NOT NULL AUTO_INCREMENT ,PRIMARY KEY ( `id` ))ENGINE = MYISAM ;
然后将值插入该表中。现在在php页面中编写以下代码并将其保存在文件夹中,假设文件夹名称为“test”。
<?php
$host="localhost";
$user="root";
$pass="";
$db="test";
$con=@mysql_connect($host,$user,$pass);
mysql_select_db($db);
$sql="SELECT * FROM user WHERE name='John'";
$result=mysql_query($sql);
$row=mysql_fetch_array($result);
echo $row["name"]." have worked for ". $row["hour_worked"]." from Date ".$row["date"];?>
现在使用您的localhost运行代码,您将获得它。 好好试试吧!
答案 3 :(得分:0)
我相信你想要在两个日期之间工作的小时数。如果是,下面会给你你想要的......
SELECT sum(hours_column), Name FROM table WHERE Date >= '2012-01-01' AND Date <= '2012-01-25' AND Name = 'John'
如果您想查看所有员工,请使用以下
SELECT sum(hours_column), Name FROM table WHERE Date >= 'start_date' AND Date <= 'end_date' GROUP BY Name