1

例如,表包含列jobtype,事情是我们需要数数。jobtype同一查询中所有作业的相同行数。

4

3 回答 3

2

你可以试试这个:

select jobtype, count(*) from your_table group by jobtype 
  union 
select 'My Total', count(*) from your_table;

这将给出类似的结果(基于您的表格):

IT         5
Admin      10
Myv Total  15
于 2013-07-04T13:37:22.130 回答
0

您可以创建 2 个 int 变量

$SQL = mysql_query('SELECT * FROM table');
$jobLookingFor = 'programmer';
$jobTypeSameCount = 0;
$jobTotalNumber = 0;

while($result =  mysql_fetch_array($SQL))
{
  if($result['jobtype'] === $jobLookingFor)
  {
    $jobTypeSameCount = $jobTypeSameCount + 1;
  }

  $jobTotalNumber = $jobTotalNumber + 1;
}

那是我的头顶,所以请原谅拼写错误。

在 while 循环完成后,jobTypeSameCount 将是您正在搜索的相同工作的数量 jobTotalNumber 将是包括相似和其他工作类型行在内的总行数。

编辑:从一个类似的问题尝试这个解决方案

从 MyTable GROUP BY COL_1、COL_2、COL_3、COL_4 中选择 COL_1、COL_2、COL_3、COL_4、COUNT(*)

如果您想清除没有重复的行:

SELECT COL_1, COL_2, COL_3, COL_4, COUNT( ) 从 MyTable GROUP BY COL_1, COL_2, COL_3, COL_4 HAVING COUNT( ) > 1

at:如何在多列中查找重复计数?

于 2013-07-04T13:48:48.460 回答
0

尝试这个:

SELECT COUNT(*) AS same_duplicate_jobs ,job_type ,total_jobs = ( SELECT    COUNT(*) FROM      jobs) FROM      jobs GROUP BY  job_type HAVING    COUNT(*) > 1
于 2013-07-04T13:59:35.273 回答