如何在MySQL脚本中使用WHERE和GROUP BY语句?

时间:2018-03-03 06:40:00

标签: mysql

我的表格包含字段 模型 mainid 。我希望获得特定的 模型 ,并按 mainid 对它们进行分组。

我使用了语法

SELECT * FROM table WHERE model = 18 

我得到以下结果

Array (
[0] => Array
    (
        [mainid] => 102
        [model] => 18
     )
   [1] => Array
    (
        [mainid] => 102
        [model] => 18
     )
   [2] => Array
    (
        [mainid] => 104
        [model] => 18
      )
   [3] => Array
    (
        [mainid] => 105
        [model] => 18
      )
  }

我尝试使用以下语法

SELECT * FROM table WHERE model = 18 GROUP BY mainid

它给出了0行。

我想要结果如下

Array ( 
[0] => Array
    (
        [mainid] => 102
        [model] => 18
    )
 [1] => Array 
    (
        [mainid] => 105
        [model] => 18
    )
 [2] => array
    (
         [mainid] => 105
         [model] => 18
    )
 }

2 个答案:

答案 0 :(得分:1)

GROUP BY通常与聚合函数一起使用。 尝试使用SELECT DISTINCT * FROM表WHERE model = 18 在这种情况下,它可能对你有帮助。

答案 1 :(得分:0)

MySQL中的GROUP BY语法

SELECT statements... GROUP BY column_name1[,column_name2,...] [HAVING condition];

<强>此处

"SELECT statements..."是标准的SQL SELECT命令查询。

&#34; GROUP BY column_name1&#34;是基于column_name1执行分组的子句。

"[,column_name2,...]"是可选的;在多个列上完成分组时表示其他列名称。

"[HAVING condition]"是可选的;它用于限制受GROUP BY子句影响的行。它类似于WHERE子句。

请参阅this