如何在mysql中使用普通列对聚合函数进行搜索

时间:2017-02-17 07:31:03

标签: php mysql sql-server

我有一个两个表,一个是survey_list,另一个是survey_summary,其中我必须进行查询,可以对两个表中的所有列进行排序 但我在其中使用一个计数功能,以便我无法找出如何使用普通列对来自count函数的值进行排序。

下面是我的表结构。

第一个表是survey_list

..........................
id   surveyname   status
..........................
1      test1      Active
2      test2      Inactive

第二表survey_summary

................................
id    userid       survey_id
................................
1      46              1
2      47              2
3      48              1
4      49              2
survey_summary表中的

survey_id是survey_list的fk 哪个有id。我试过下面的查询来搜索所有列 但我无法在计数栏上搜索。

SELECT survey_list.`id`,
       survey_list.`survey_name`,
       survey_list.`status`,
       count(survey_list.`id`)AS COUNT
FROM `survey_list`
LEFT JOIN survey_summary ON survey_list.`id`=survey_summary.`survey_id`
WHERE survey_list.`survey_name` LIKE '2%'
  OR survey_list.`status` LIKE '2%'
GROUP BY survey_list.`id`

请帮助我在计数栏上应用搜索。

先谢谢

1 个答案:

答案 0 :(得分:0)

你在寻找吗?

   SELECT survey_list.`id`,
           survey_list.`survey_name`,
           survey_list.`status`,
           count(survey_list.`id`)AS cnt
    FROM `survey_list`
    LEFT JOIN survey_summary ON survey_list.`id`=survey_summary.`survey_id`
    WHERE survey_list.`survey_name` LIKE '2%'
      OR survey_list.`status` LIKE '2%'
    GROUP BY survey_list.`id`
    HAVING
     cnt > 0