普通网友 2016-08-11 15:34
浏览 94
已采纳

mysql UNION重复


I'm using this mysql query and to sort it, I have added bool column is_main (is it from main table). The result is working but I'm getting duplicates, because of that is_main column.. Is there any fix for this? Query:

SELECT 
    b.dateTime,
    a.id,
    a.jobName,
    a.is_main
FROM job_data a, data b
WHERE a.userEmail = b.userEmail AND a.userEmail = :email
UNION
SELECT 
    b.dateTime,
    b.id,
    b.jobName,
    b.is_main
FROM job_data a, data b
WHERE a.userEmail = b.userEmail AND a.userEmail = :email

ORDER BY is_main DESC


The job_data table:

id | dateTime | jobName | is_main
1  | 00.00.00 | job1    | 0
2  | 00.00.00 | job2    | 0
3  | 00.00.00 | job3    | 0


The data table:

id | dateTime | jobName | is_main
1  | 00.00.00 | job1    | 1
2  | 00.00.00 | ---     | 1


The output goes something like this :

job1  //this is not okay, because of duplicate job1
job1
job2 
job3 
_____
---  //this is perfect, because I want empty cell to show on top
job1
job2
job3
  • 写回答

1条回答 默认 最新

  • 普通网友 2016-08-11 17:03
    关注
    SELECT dateTime, id, jobName, max(is_main) from
    ( SELECT 
        b.dateTime,
        a.id,
        a.jobName,
        a.is_main
    FROM job_data a, data b
    WHERE a.userEmail = b.userEmail AND a.userEmail = :email
    UNION
    SELECT 
        b.dateTime,
        b.id,
        b.jobName,
        b.is_main
    FROM job_data a, data b
    WHERE a.userEmail = b.userEmail AND a.userEmail = :email
    
    )
    GROUP BY id
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!