快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

mysql怎么查询一列 mysql查询

mysql怎么查找某一列的所有值

select * from (

南县网站建设公司成都创新互联公司,南县网站设计制作,有大型网站制作公司丰富经验。已为南县上千提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的南县做网站的公司定做!

select

tablename_tmp.*,

@rownum:=@rownum+1 rownum,

if(@pstatus=status ,@rank:=0,@rank:=1) as rank,

@pstatus := tablename_tmp.status

from (

select * from tablename1

)

tablename_tmp ,

(select @rownum :=0 , @pstatus := null ,@rank:=0) a

) a

where a.rank=1 or a.status=0

order by a.rownum

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

需求说明

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;

这样就得到我们想要的结果集了:

mySQL通过列值查询该值所在的列

1 如果只是想查询出是那一列,可创建一个自定义函数来实现:

delimiter |

drop function if exists fun_tab_test |

create function fun_tab_test (par_id int, par_comparevalue int)

returns varchar(20)

begin

declare rvalue varchar(20);

select ( case when count(*) = 0 then '' when b = par_comparevalue then 'b' when c = par_comparevalue then 'c' else '' end ) as colA

into rvalue from tab_naem where id = par_id;

return rvalue ;

end |

delimiter ;

使用:

select fun_tab_test(1, 400); --参数分别为传入的id和对比的值400

结果为含400值的列或''(没有找见包含的列)时,接下来做你想做的update或delete等即可;

2 如果要完成一个自动的update,可使用before update触发器,提供个简单示例,进行适应性修改:(这里n为表名,a为id列,b,c 为两个可能包含400值的列)

delimiter |

drop trigger if exists tr_n_before_update; |

create trigger tr_n_before_update before update on n

for each row begin

declare svalue int;

select b into svalue from n where n.a = new.a;

if svalue = 400 then

set new.b = 0;

end if;

select c into svalue from n where n.a = new.a;

if svalue = 400 then

set new.c = 0;

end if;

end; |

delimiter ;


网页名称:mysql怎么查询一列 mysql查询
分享URL:http://6mz.cn/article/ddohshd.html

其他资讯