日期:2014-05-16 浏览次数:20839 次
?
1.关于distinct的使用
? ? 查询名字不重复的语句:
?
select distinct name from table
? ? 但是我们要把id字段信息也取到
?
select distinct name,id from table?
??? 这样查询的结果是把id和name值同时重复的去掉,和只查询名字不重复的意愿违背,怎么解决呢?解决方法如下:
select *, count(distinct name) from table group by name
2.关于join的使用
3.mysqlDate函数
??? http://www.w3school.com.cn/sql/sql_dates.asp
?
4.mysql IFNULL()和COALESCE()函数
??? 把值为NUll的设置为:0
SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0)) FROM Products SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0)) FROM Products?
?
5.mysql GROUP_CONCAT()函数
??? group_concat()函数可以用来拼接字符串
??? group_concat(str)默认以逗号拼接
??? group_concat(str SEPARATOR'_')下划线拼接
?
SELECT GROUP_CONCAT(IFNULL(city,'城市未定义') SEPARATOR'_') as citys FROM persons
?
6.CONCAT()和CONCAT_WS()函数
??? concat()函数 直接拼接 有一个是NULL结果就为NULL
??? concat_ws() 以特定符合隔开 ,而且第一是特定符号,有NULL值不影响拼接结果
SELECT CONCAT('My', 'QL',NULL); SELECT CONCAT_WS(',','乐自游',NULL,'杭州旅游')
?
7.having的使用
??? 在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。
?
SELECT city, sum(age) FROM persons WHERE city='杭州' or city='苏州' GROUP BY city HAVING SUM(age)<40
?
8.mid的使用
??? MID 函数用于从文本字段中提取字符。
?
??? 我们拥有下面这个 "Persons" 表:
1 | Adams | John | Oxford Street | London |
2 | Bush | George | Fifth Avenue | New York |
3 | Carter | Thomas | Changan Street | Beijing |
?? 现在,我们希望从 "City" 列中提取前 3 个字符。
?? 我们使用如下 SQL 语句:
SELEC