如何使用PHP计算MySQL表中的数据出现次数

时间:2012-03-06 07:09:18

标签: php mysql

我想计算约翰从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有点新,欢迎任何帮助。

4 个答案:

答案 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"]."&nbsp;have worked for&nbsp;". $row["hour_worked"]."&nbsp;from Date&nbsp;".$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