mysql语句 查询某列中不重复数据的所有项

mysql语句 查询某列中不重复数据的所有项,第1张

需求说明 1、我需要查询某列不重复的数据 2、并且显示不重复数据的所有项 sql语句如下select * from data group by address 如果是仅仅查询某列不重复数据,只需要一列 效果如下 sql语句select DISTINCT address from data 这里有一个非常非常需要注意的地方:        SELECT DISTINCT [字段名]后面不能再跟其他的字段,否则检索出来的记录仍然会含有重复项;         错误写法:             SELECT DISTINCT [字段名] ,[其他字段名] FROM [表名] WHERE [检索条件字句]如果我们的记录集里还需要有其他字段值 ,那怎么办呢? 实际上,我们完全可以用另一种办法来解决问题只是需要用到子查询而已! 使用GROUP BY 分组 有一点需要注意: 使用带有GROUP BY字句的查询语句时,在SELECT列表指定的列要么是GROUP BY 指定的列,要么包含聚合组函数 所以用这样一句SQL就可以去掉重复项了: select * from msg group by terminal_id 这样就得到我们想要的结果集了:

(1)查询表中全部信息:

select * from 表名

(2)查询表中指定列的信息:

select 列1,列2 from 表名

(3)去重:

select distinct 列... from 表名

(4)拼接结果:

select concat(列1,列2) from 表名

(5)设置别名(注意:关键字as可以省略)

select 列 as 别名 from 表名

select 列 别名 from 表名

(6)条件查询:

select 列... from 表名 where 条件

条件中比较运算符:(等于:=  大于:> 大于等于:>=  小于:< 小于等于:<=  不等于:!= 或 <>)

(7)where 列  比较运算符  值

注意:字符串、日期需使用单引号括起来

(8)逻辑运算符(并且:and或&&   或:or   非:not或!)

where 条件1 逻辑运算符 条件2

where not 条件

(9)范围查询:

where 列 between 条件1  and 条件2          //列在这个区间的值where 列 not between 条件1 and 条件2    //不在这个区间where !( 列 between 条件1 and 条件2 )     //同样表示不在这个区间

集合查询(判断列的值是否在指定的集合中):

where 列 in(值1,值2)         //列中的数据是in后的值里面的where 列 not in(值1,值2)  //不是in中指定值的数据

null值查询(注意:列中值为null不能使用=去查询):

where 列 is null //查询列中值为null的数据

资料来源 网页链接


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8632502.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-19
下一篇2023-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存