a:from clause
b:where clause
c:group by clause
d:select clause
e:having clause
f:order by clause 2.分组查询 在select指定的字段要么就要包含在Group By语句的后面,作为分组的依据;要么就要被包含在聚合函数 中。 3. whare 和 having的区别
a:Union 会把两个结果集排序,并且除去重复的元素(效率差,轻易不要用)
b:Union All仅仅是把两个结果集合并,没有排序,也不去除重复元素(效率好) 5. 尽量不要使用 is null 与 is not null作为查询条件
任何包含null值的列都将不会被包含在索引中,如果某列数据中存在空值,那么对该列建立索引的性能提升是值得怀疑的,尤其是将null作为查询条件 的一部分时。建议一方面避免使用is null和is not null, 另一方面不要让数据库字段中存在null, 即使没有内容,也应利用缺省值,或者手动的填入一个值,如:’’ 空字符串。
函数 | 作用 | 支持性 |
---|---|---|
sum(列名) | 求和 |
|
max(列名) | 最大值 |
|
min(列名) | 最小值 |
|
avg(列名) | 平均值 |
|
first(列名) | 第一条记录 | 仅Access支持 |
last(列名) | 最后一条记录 | 仅Access支持 |
count(列名) | 统计记录数 | 注意和count(*)的区别 |
GROUP_CONCAT(expr)
这个方法不错 可以将 分组的字符串 以,连接起来
SELECT x.No1ModelName,GROUP_CONCAT(No1ModelDate) from product x
GROUP BY x.No1ModelName;