【问题标题】:Does this code deletes duplicates?此代码是否删除重复项?
【发布时间】:2009-08-28 14:10:10
【问题描述】:

我想用它从 mysql 数据库的行中获取数据到文本文件中(另一个条目下的一个条目,每个文件 50 个条目):

$ mysql --user=XXX --password=XXX --batch --skip-column-names \
 -e "SELECT userid, displayname FROM Users" stackoverflowdb | \
split -l 50 -a 5 - "result."

但我也不想将重复的条目复制到这些文件中。此代码会删除重复项还是我需要添加一些内容以不复制重复项?

【问题讨论】:

  • 您指的是用户表中的重复条目吗?
  • 是的,我不想从那里重复条目

标签: mysql linux


【解决方案1】:

修改 SQL 以使用 DISTINCT 指令

例如

 SELECT DISTINCT userid,displayname FROM Users 

将确保只选择用户 ID 和显示名称的唯一组合。

但是,这不会阻止具有相同显示名称的用户 ID。

【讨论】:

  • 太好了,谢谢。赞成。只是想确保...文本文件将在我 cd 到的目录中创建?
  • 我认为 split 默认会在当前工作目录中创建它们,是的。
【解决方案2】:
SELECT DISTINCT userid,displayname FROM Users

.. 或在数据库之外

mysql --user=XXX --password=XXX --batch --skip-column-names \
 -e "SELECT userid, displayname FROM Users" stackoverflowdb | \
sort -u | \
split -l 50 -a 5 - "result."

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-04
    • 2021-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-12
    相关资源
    最近更新 更多