mysql - SQL:如何在特定日期之前添加自定义行

标签 mysql sql

我有一个查询,结果如下:

date      From
-----------------------
20        Airport
20        Vehicle
23        Person
24        Person
28        Person
28        Airport

我的期望:

date      From
-----------------------
20        Received From
20        Airport
20        Vehicle
23        Received From
23        Person
24        Received From
24        Person
28        Received From
28        Person
28        Airport

如何自动添加“接收自”行?

最佳答案

首先为所有每个日期列值添加接收自,并将实际的表格行与此合并使用UNION ALL。然后使用 CASE 表达式将结果排序为 Received From 值首先。

查询

select t.`date`, t.`From` from(
  select `date`, `From` from `myTable`
  union all
  select distinct `date`, 'Received From' from `myTable`
) t
order by t.`date`,
case t.`From` when 'Received From' then 1 else 2 end, t.`From`;

关于mysql - SQL:如何在特定日期之前添加自定义行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46561980/

相关文章:

php - 从 mysqli_multi_query 获取最后结果

MySQL auto_increment innodb_autoinc_lock_mode = 2 但有时仍按顺序填充

mysql - 我怎样才能备份mysql数据库表

sql - 将 JSON 字符串转换为十进制的问题

sql - 透视带有文本且无聚合的表

mysql - 如何在需要将日期字段与当前时间进行比较的 sql 查询中编写 where 子句?

php - 识别何时发生更新?

php - 在 PHP 中返回 JSON 消息

SQL 注入(inject)道德黑客

SQL - 指定的字母顺序