繁体   English   中英

使用UNION和DISTINCT完善MySQL选择查询

[英]Refining MySQL select query using UNION and DISTINCT

我的php脚本中有一个查询未返回所需数据。 查询是

select distinct require_category from users_require

返回:

Diet
Experience
MeasurementsGain
MeasurementsLoss
MeasurementsMaintain
WeightGain
WeightLoss
WeightMaintain
Workout

但是我只想要

Diet
Experience
MeasurementsGain
WeightGain
Workout

我已经优化了我的mysql查询并返回了corect结果,但是我认为它的效率不够:

select distinct require_category from users_require where require_category NOT LIKE '%Weight%' and require_category NOT LIKE '%Measurements%' union select distinct require_category from users_require where require_category = 'WeightGain' or require_category = 'MeasurementsGain'

请尝试以下,

SELECT DISTINCT
require_category FROM users_require WHERE require_category NOT LIKE '%Loss%'
AND require_category NOT LIKE '%Maintain%'

你可以用一些工会

  select min(require_category)
  from users_require
  where require_category like 'Measurements%';
  union 
  select min(require_category)
  from users_require
  where require_category like 'Weigh%';
  union 
  select require_category
  from users_require
  where require_category not like 'Measurements%' 
  and require_category not like 'Weigh%';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM