mysql样才能对单列去重,例如我需要对查询不同部门的不同职业有哪些

mysql样才能对单列去重,例如我需要对查询不同部门的不同职业有哪些

img

这样不就可以了么
SELECT DISTINCT 部门 , 职业
FROM table;

要对MySQL表中的单列进行去重,你可以使用DISTINCT关键字来实现。在你的例子中,如果你需要查询不同部门的不同职业有哪些,可以使用以下SQL查询语句:

SELECT DISTINCT department, occupation
FROM your_table_name;

在这个查询中,your_table_name是你要查询的表名,departmentoccupation是表中的两列,分别表示部门和职业。DISTINCT关键字将返回不重复的部门和职业组合,去除重复的行。

请替换your_table_name为你实际的表名,并根据表的结构和列名调整查询语句。执行这个查询后,你将得到不同部门的不同职业的列表。

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/548541
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:[推荐] mysql主从库数据不同步,或mysql从库里面做了增删改操作导致不同步,或是mysql现有的主库和从库数据同步前不一致问题
  • 你还可以看下mysql参考手册中的 MySQL 字符集、对齐方式、统一编码 配置应用程序的字符集和排序
  • 除此之外, 这篇博客: mysql主从复制教程,解决只同步表结构,不同步表内数据的问题中的 mysql主从复制设置教程,解决只同步表结构,不同步表内数据的问题 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 环境说明

    主Mysql(localhost_3306):
    ip:192.168.1.120
    端口:3306
    账号:root
    密码:123456
    同步数据库名称:test

    从MySQL(192.168.1.150_3306):
    ip:192.168.1.150
    端口:3306
    账号:root
    密码:123456
    同步数据库名称:test

    现在主库和从库中创建好test数据库
    首先配置主库

    1、主数据库配置文件(主数据库在windows系统上)如下
    在windows上为my.ini文件,寻找方法 打开c盘,输入%ProgramData%并回车,找到mysql安装目录点击去即可找到打开做如下配置

    [mysqld]
    #设置主从复制(主)
    server-id=114 #一般为ip后三位
    log-bin=mysql-bin #表示启用binlog功能,并指定二进制日志的存储目录
    binlog-do-db=test #binlog日志记录指定库的更新
    port=3306
    

    2、重启mysql,可在cmd中输入services.msc打开服务,找到mysql右键重启
    3、打开navicat进入主库点击用户,新建用户,输入用户信息
    我已提前创建好
    在这里插入图片描述
    注意主机那里输入的是从库的ip!!!!!!!!!(都是我踩过的坑)
    4、点击权限选择对应权限并保存
    在这里插入图片描述
    5、重启主库查看主库信息
    在这里插入图片描述
    记录File列信息 和Position下数字,后面会用

    从数据库配置文件(从数据库在linux系统上)
    1、linux系统上配置文件为my.cnf 在/etc/my.cnf

    [mysqld]
    server_id=150
    log_bin=mysql-bin
    #要进行主从复制的数据库名
    replicate-do-db=test
    #要进行主从复制的表名,%表是通配符
    replicate-wild-do-table=test.%
    log-slave-updates
    slave-skip-errors=all
    slave-net-timeout=60
    

    注意这里有一个大坑!! 配置的时候一定要配置/etc/my.cnf 也就是mysql启动是加载的配置文件,不要配置/usr/local/mysql 即你的mysql安装目录下的!! 如过配置的安装目录下的结果就是从数据库只同步主数据库的表结构,不会同步表中的数据!! 这个坑我用了一天的时间才爬出来

    2、重启数据库
    使用service mysqld restart
    在这里插入图片描述
    3、同步配置

    stop slave;
    change master to master_host='192.168.1.120', #主库的ip
    master_port=3306, #主库的端口
    master_user='slave', #刚在主库创建的用户
    master_password='123456', #创建用户时输入的密码
    master_log_file='mysql-bin.000022', #让记录的File信息
    master_log_pos=2324; #让记录的Position信息
    start slave;
    

    在这里插入图片描述
    4、查看同步状态
    执行 show slave status
    在这里插入图片描述
    结果红圈内时双yes即可
    在这里插入图片描述
    验证结果

    在主库test中创建表user保存后,刷新从库会看到从库test中出现user表,在主库user表中添加数据后刷新从库会看到user表中数据更新!

  • 您还可以看一下 CSDN数据库讲师老师的MySQL 数据库备份并自动发送备份邮件课程中的 所有数据库服务器的配置小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    问题内容: 请问在MySQL中,我该如何查询不同部门的不同职业?也就是说,我想要获取每个部门中有哪些不同的职业存在。请给出相应的MySQL语句。

    解决方案: 首先,根据题目,我们需要查询不同部门的不同职业,因此我们需要使用GROUP BY子句来按部门进行分组,并计算每个部门的不同职业。具体的MySQL语句如下:

    SELECT department, COUNT(DISTINCT occupation) as distinct_occupations
    FROM table_name
    GROUP BY department;
    

    其中,table_name是你的数据库中包含职业和部门信息的表的名称。departmentoccupation分别是表中包含部门和职业信息的列的名称。以上语句将返回每个部门中不同职业的数量。

    请替换table_namedepartmentoccupation为你实际的表和列名称,并在执行查询前连接到你的MySQL数据库。

    希望以上解决方案对你有帮助。如果你需要更多帮助,请告诉我。