mysql 选择不同的字母,包括扩展拉丁字符

2024-04-20

原问题:

表结构:

CREATE TABLE `texts` (
  `letter` VARCHAR(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `text` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  INDEX (`letter` ASC),
  INDEX (`text` ASC)
)
ENGINE InnoDB
CHARACTER SET utf8
COLLATE utf8_general_ci;

样本数据:

INSERT INTO `texts`
(`letter`, `text`)
VALUES
('a', 'Apple'),
('ā', 'Ābols'),
('b', 'Bull'),
('c', 'Cell'),
('č', 'Čakste');

我正在执行的查询:

SELECT DISTINCT `letter` FROM `texts`;

预期成绩:

`letter`
a
ā
b
c
č

实际结果:

`letter`
a
b
c

我尝试过很多 utf8 排序规则 (utf8_[bin|general_ci|unicode_ci], utf8mb4_[bin|general_ci|unicode_ci] 等),它们都不起作用。如何 解决这个问题?

编辑以澄清:我想要的不仅仅是获得所有字母 出,而且还按照我在预期中指定的顺序获取它们 结果。utf8_bin获取所有字母,但它们按顺序排列 错误的方式 - 扩展拉丁字符仅在所有基本字符之后跟随 拉丁字符(例如:a、b、c、ā、č)。另外,我的实际表是 using 每个字母有很多文本,因此分组是必须的。

编辑 #2:这是来自实时站点的完整表格数据 -http://pastebin.com/cH2DUzf3 http://pastebin.com/cH2DUzf3执行该 SQL 并运行以下查询:

SELECT DISTINCT BINARY `letter` FROM `texts` ORDER BY `letter` ASC

yields almost完美的结果,但有一个例外:字母“ū”是before“u”,至少可以说这很奇怪,因为所有其他扩展拉丁字母都出现在其基本拉丁版本之后。我该如何解决最后一个问题?


Check Manual http://dev.mysql.com/doc/refman/5.0/en/binary-varbinary.html for BINARY type

SELECT DISTINCT BINARY `letter` FROM `texts` 

Check SQL Fiddle http://sqlfiddle.com/#!2/59c8f

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql 选择不同的字母,包括扩展拉丁字符 的相关文章

  • 如何使用Query备份MySQL数据库?

    我们如何使用 Query 备份 MySQL 数据库 就像我们可以使用以下 Query 备份 MS SQL 一样 Query backup database DATABASENAME to disk PATH 使用 mysqldump php
  • 插入值数组

    我有一个具有可变数量值的数组 除了内部带有查询的循环之外 是否有更有效或更好的方法将它们插入到我的数据库中 At 这个网站 http www desilva biz mysql insert html 有一个很好的 MySQL 多插入查询示
  • 查询 ssisdb 以查找包的名称

    我正在查询 ssis 目录以找出目录中所有包的名称 Folder1项目中只有6个包 但查询却给出了9条记录 1 SELECT P NAME FROM SSISDB internal projects PRJ INNER JOIN SSISD
  • 使用 MOVE 确定 DB RESTORE 的 SQL 数据路径

    我正在尝试编写一个自动恢复数据库备份的脚本 我知道我可以使用以下 RESTORE 命令 RESTORE DATABASE DBRestoredName FROM DISK N C path to backup bak WITH FILE 1
  • 计算日期之间的差异 - Postgres

    我需要计算 3 个不同日期的天数 我需要运行逻辑以从下面的伪逻辑获取整数值 future date 1 future date 2 今天 如何在 PostgreSQL 中实现这一点 为了实现日期相差天数 SELECT DATE PART d
  • MySQL 索引创建速度很慢(在 EC2 上)

    我有一张相当简单的桌子 requestparams requestid varchar 64 NOT NULL requestString text ENGINE MyISAM 使用 LOAD DATA 填充表后 我正在更改架构并将 req
  • MySQL 相当于 ORACLES 的rank()

    Oracle 有 2 个函数 rank 和dense rank 我发现它们对于某些应用程序非常有用 我现在正在 mysql 中做一些事情 想知道他们是否有与这些相同的东西 没有什么直接等效的 但你可以用一些 不是非常有效的 自连接来伪造它
  • 将 CSV 文件导入 MySQL 数据库时出现无效的 UTF-8 字符串

    我正在尝试使用以下代码将 CSV 导入我的 MySQL 数据库 我从帖子中获取了 CSV 文件
  • TSQL 多列唯一约束也允许多个 Null

    我目前正在做一些从 MS Access 到 SQL Server 的迁移 Access 允许唯一索引中存在多个 Null 而 SQL Server 不允许 我一直在通过删除 SQL Server 中的索引并添加筛选索引来处理迁移 CREAT
  • PhpStorm Docker PHPUnit 数据库

    I setup https blog jetbrains com phpstorm 2016 11 docker remote interpreters PhpStorm PHP PHPUnit 与 Docker 我在 PhpStorm 数
  • 这段php代码安全吗?

    我知道我应该使用准备好的语句 但我的下一个项目将使用准备好的语句 我只需要完成这个简单的小应用程序 所以我的问题是 以下代码片段安全吗 我使用了 htmlentities 以及 mysql real escape string 因为我认为这
  • MySQL 查询 - 使用 ORDER BY rand( ) 强制区分大小写

    是否可以强制查询区分大小写 我的听起来是这样的 SELECT g path FROM glyphs WHERE g glyph g glyph ORDER BY rand 如果 g glyph r 结果可以是 R 或 r 这不是我所期望的
  • 选择当前项目 id 周围的 N 个上一个项目和 M 个下一个项目

    我有一张有照片的桌子 id year comm count 0 2015 1 1 2016 2 2 2017 5 3 2018 7 4 2019 1 5 2020 9 6 2021 1 7 2022 1 我选择具有给定 ID 的照片 位于所
  • MySQL 客户端和服务器无法通信,因为它们不具备通用算法

    我在 AWS 服务器上运行以下代码 尝试连接到 AWS 提供的 mysql 服务 String conn buildConnString dc MySqlConnection connection new MySqlConnection c
  • Laravel 查询生成器:枢轴不在的地方

    wherePivotIn已提及here https laravel com docs 5 5 eloquent relationships many to many under 通过中间表列过滤关系 但我找不到任何有关相反功能的信息 As
  • ORA-01438: 值大于此列允许的指定精度

    有时我们会从合作伙伴的数据库中收到以下错误 i ORA 01438 value larger than specified precision allows for this column i 完整响应如下所示
  • 仅从 MySQL 中的日期时间 (YYYY-MM-DD HH:MM:SS) 中选择不同的日期

    执行此命令会带来以下结果 所有列中的所有日期 因此它本质上与 SELECT date 执行相同的操作 没有不同 SELECT DISTINCT date FROM daily ORDER BY date DESC 2013 02 12 16
  • MySQL 周数和新年

    我现在正在开发的网站有一个仪表板 显示各个用户在前一周输入的数据 我使用简单的 WHERE 子句选择此数据 SELECT FROM table WHERE WEEK date 1 WEEK CURDATE 1 1 然而 新年即将到来 当用户
  • 如何在JdbcTemplate中执行多批量删除?

    我想一次删除多个数据库条目 仅当 3 个字段匹配 此处 姓名 电子邮件 年龄 时 才应删除每个条目 如果我只想删除单个属性 我会选择 String sql DELETE FROM persons WHERE email IN JdbcTem
  • Perl:通过一次 MySQL 调用更新多行

    似乎这不可能 但嘿我不妨问一下 我可能是错的 想知道 perl 是否可以使用一个 MySQL 调用来更新多行 我正在使用 DBI 任何帮助或反馈将不胜感激 这可以通过 ASP 和 ASP net 在 MSSQL 中实现 所以想知道是否也可以

随机推荐

  • 使用 javascript 屏幕延迟抓取网站 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试抓取一个有瞬间 JavaScript 延迟的网站 我目前正在使用 python 进行抓取 每当我 获取 页面时 JavaSc
  • Silverlight NavigationFramework 在导航时不会更改地址栏(不显示主题标签)

    我正在使用导航框架 基本上得到了一个用于导航的框架 我试过玩mainFrame JournalOwnership因为我想也许改变它可能与此有关 但没有任何改变 由于与导航相关的类结构非常小 因此我对我做错了什么感到有点困惑 因为我想不出可以
  • 赫尔姆出了什么问题?为什么它没有被广泛采用并优先用于 k8s 应用程序? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 到目前为止 Helm 是我所知道的唯一 K8s 包管理器 它可以帮助无缝部署和管理 k8s 应用程序依赖项 为什么这么多 K8s 应用程序仍然没
  • 从 pyinstaller 包访问 python 解释器 #2

    我正在尝试执行一个包含在 datas 中的 python 脚本 并捆绑到 pyinstaller 可执行文件中 在 Mac 上 我需要将参数传递给这个脚本 所以我不能只是 exec open read 在 pyinstaller 之外 sy
  • PayPal Webhook 验证 Java SDK

    我目前正在将 PayPal 智能支付按钮 集成到 Web 应用程序中 传递自定义字段并接收带有此数据的 Webhook 购买确认效果非常好 我在验证收到的 Webhook 时遇到问题 文档很差 导致 v1 已弃用 或 v2 Java SDK
  • .htaccess 中的多个 mod_rewrite 规则

    我很难让多个 mod rewrite 规则在我的 htaccess 文件中协同工作 在整个网站中 我想删除 www 来自所有 URL 我在文档根目录中使用以下内容 Options FollowSymLinks RewriteCond HTT
  • jsfiddle如何标记代码?有这个库吗?

    如果您曾经使用过 www jsfiddle net 您可能会注意到它用适当的颜色标记代码 以及各种其他帮助程序 例如将制表符转换为四个空格或shift tab 通过 Firebug 我看到它是通过 iFrame 来完成此操作的 有没有开源库
  • Clock_nanosleep() 尚不支持 CLOCK_MONOTONIC_RAW。这该如何处理呢?

    现在clock nanosleepDebian Jessie 上的 CLOCK MONOTONIC RAW 返回 EOPNOTSUPP 如何解决该问题并补偿可能应用于计时器循环中的 CLOCK MONOTONIC 的 NTP 调整 Is c
  • Oracle/SQL中ROWID的数据类型

    Oracle SQL中ROWID的数据类型是什么 这个值是如何存储的 以下链接解释了 ROWID 的数据类型是什么 ROWID 数据类型 http docs oracle com cd B19306 01 server 102 b14200
  • 如何在 emacs 中对多种语言进行拼写检查?

    我主要使用 HTML 编写文档emacs作为我的主要编辑 Emacs 允许您使用以下命令以交互方式对当前缓冲区进行拼写检查ispell buffer 由于我在多种语言之间切换 因此我在文件末尾有一个 HTML 注释 指定该文件的主词典和个人
  • Github 贡献日历日开始时间

    几天前 Github 推出了他们的新功能 贡献 https github com blog 1360 introducing contributions 我有一个疑问 这个日历的一天开始时间是几点 是使用我的本地时间还是 UTC 如果它使用
  • C语言中如何将负零转换为正零?

    你好 我正在学习 Objective C 我正在做经典的计算器示例 问题是 当我将零乘以任何负数时 我得到负零 并将结果放入 双 类型 为了看看发生了什么 我使用了调试器 这就是我得到的结果 gdb 打印 2 0 1 0 gdb 打印 双精
  • Jquery 搜索 - 不区分大小写

    我在 Jquery 脚本上获得了一些帮助 该脚本创建了可搜索 可切换的常见问题解答 代码可以在这里看到 http jsfiddle net pT6dB 62 http jsfiddle net pT6dB 62 问题是 如果单词 How 带
  • JBoss AS 6 中的 QuartzScheduler 注入

    如何将 QuartzScheduler 服务注入 JBoss AS 6 上的无状态 bean 中 Quartz 服务在 JBoss AS 6 启动期间启动 00 58 38 025 INFO QuartzScheduler Schedule
  • Glassfish 4 中的密码加密算法

    我最近将 Glassfish 从 3 1 2 更新到 4 0 并希望设置一个我之前在我的应用程序上使用过的 JDBCRealm 该应用程序使用基于 FORM 的身份验证 密码在数据库中使用 SHA 256 进行哈希处理 这是默认的摘要算法选
  • 查找目录中最新的文件而不读取其所有内容

    我试图在一个巨大的文件系统中找出最新的文件 一种方法是浏览所有目录 一次一个 读取其内容 选择最新文件等 明显的缺点是我必须得到all特定目录中的文件 我想知道 Python 1 中是否有一个 Unix 支持的 神奇 调用来获取目录中的最新
  • Lua中如何获取目录列表

    我需要 LUA 中的目录列表 假设我的目录路径为 C Program Files 我需要该特定路径中所有文件夹的列表以及如何搜索该列表中的任何特定文件夹 Example 需要路径 C Program Files 中所有文件夹的列表 以下是上
  • 如何使用 Ruby 在现有 PDF 上编辑或书写?

    我有几个 PDF 模板文件 其中包含复杂的内容和几个空白区域 区域 我需要能够在这些空白区域写入文本并将生成的 PDF 保存在文件夹中 我在谷歌上非常集中地搜索了这个问题的答案 但没有找到明确的答案 更好的解决方案之一是PDF 工具包 ht
  • 读取由其他线程上的 Interlocked 更新的 int

    这是重复 如何正确读取 Interlocked Increment ed int 字段 https stackoverflow com questions 6139699 how to correctly read an interlock
  • mysql 选择不同的字母,包括扩展拉丁字符

    原问题 表结构 CREATE TABLE texts letter VARCHAR 1 CHARACTER SET utf8 COLLATE utf8 general ci NOT NULL text VARCHAR 255 CHARACT