mysql - SQL 查询中的奇怪逻辑

标签 mysql sql

我有一个奇怪的案例构建 MySql 查询:

在这里。

  1. 我需要根据名字和姓氏对结果进行排序
  2. 我的预期结果是在 ORDER BY 中使用 CONCAT(first_name, last_name)

但我被限制在 ORDER BY 中不使用 CONCAT。有什么方法可以构建查询

原始 SQL:

SELECT CONCAT(first_name, last_name) 
FROM users 
ORDER BY CONCAT(first_name, last_name)

例:first_name 可以为空

例子

First Name           Last Name
A                    B
                     B
C                    D

现在我需要 SOrt Order as

AB 
B
CD

最佳答案

试试这个:

SELECT full_name FROM (
    SELECT CONCAT(first_name, last_name) AS full_name FROM users
) AS tmp ORDER BY full_name

关于mysql - SQL 查询中的奇怪逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16216932/

相关文章:

mysql - 我已经走进了死胡同。 SQL查询获取最后回复的用户名和时间戳

sql - 使用 STRING_SPLIT() 评估列

javascript - 链式选择框(国家、州、城市)

sql - 如何将empty_clob()从java插入Oracle

mysql - 更新表列在哪里

php - MYSQL查询中的IF

php - PHP/MySQL 中的游戏大厅

php - 具有相同名称的多个输入字段。如何将它们全部保存到数据库中

php - 简单的出站链接跟踪器 - 为什么这不起作用?

mysql - 存储过程无法正常工作的问题