例如,该表包含列jobtype
,我们需要对其进行计数。对于同一查询中的所有作业,同一jobtype
行的行数相同。
答案 0 :(得分: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
答案 1 :(得分: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将是包括相似和其他作业类型行的总行数。
编辑:从类似问题中尝试此解决方案
SELECT COL_1,COL_2,COL_3,COL_4,COUNT(*) 来自MyTable GROUP BY COL_1,COL_2,COL_3,COL_4
如果您想要清除没有重复的行:
SELECT COL_1,COL_2,COL_3,COL_4,COUNT() 来自MyTable GROUP BY COL_1,COL_2,COL_3,COL_4 有计数()> 1
答案 2 :(得分:0)
试试这个:
SELECT COUNT(*) AS same_duplicate_jobs ,job_type ,total_jobs = ( SELECT COUNT(*) FROM jobs) FROM jobs GROUP BY job_type HAVING COUNT(*) > 1