百独托管7500 紫田网络超高转化播放器收cps[推荐]速盾CDN 免实名免备防屏蔽阿里云 爆款特卖9.9元封顶提升alexa、IP流量7Q5团队
【腾讯云】中小企福利专场【腾讯云】多款产品1折起高防 随时退换 好耶数据小飞国外网赚带你月入万元炎黄网络4H4G10M 99每月
香港带宽CN2/美国站群优惠中客数据中心 服务器租用联盟系统移动广告平台 中易企业专场腾讯云服务器2.5折九九数据 工信部正规资质
腾讯云新用户大礼包代金券高价收cpa注册量高价展示【腾讯云】2核2G/9.93起租服务器找45互联 随时退换阿里云 短信服务 验证秒达
12
返回列表

[技术交流] 一个SQL查询排序的问题,大神指教下 [复制链接]
查看:2094 | 回复:19

199

主题

1331

帖子

1536

积分

落伍者(两全齐美)

Rank: 2

贡献
2270
鲜花
12
注册时间
2012-11-28

落伍手机绑定

发表于 2018-8-24 17:53:30 | 来自 中国山西运城
很6的啊
落伍者 与 创业者 同在
开启 互联网+ 模式

51

主题

1805

帖子

3508

积分

落伍者(两全齐美)

Rank: 2

贡献
2122
鲜花
40
注册时间
2007-10-12

QQ绑定落伍微信绑定落伍手机绑定

发表于 2018-8-24 17:58:53 | 来自 中国辽宁大连
如果数据量很大的话,推荐使用Lucene.Net
然后适配条件选择 BooleanClause.Occur.MUST
如果只是想用SQL来实现:可以用一个相对笨一点的方法:
先查出and 条件,再查or条件,把这两个结果表union,最后再去掉重复的记录即可

56

主题

2万

帖子

2万

积分

落伍者(四季发财)

Rank: 4

贡献
389
鲜花
16
注册时间
2001-7-30
发表于 2018-8-25 00:39:22 | 来自 中国北京
nanjim 发表于 2018-8-24 15:40
select * from 你的表 where 性别=男 and 年纪>15
union
select * from 你的表 where 年纪

落伍网友
落伍网友  发表于 2018-8-25 10:09:46 来自 中国北京
干嘛老想着要SQL干完所有的事情呢?
先搜索出所有结果,这一步没问题吧,
然后将数组循环一次排列就行呀,

1335

主题

1万

帖子

1万

积分

落伍者(四季发财)

Rank: 4

贡献
2369
鲜花
20
注册时间
2005-1-14

落伍手机绑定

发表于 2018-8-25 10:12:43 | 来自 中国山东聊城
其实很简单。他们都写复杂啦~
聊城物流聊城二手车物流
www.0635che.com www.lc56.com
落伍网友
落伍网友  发表于 2018-8-26 01:25:46 来自 中国广东广州
本帖最后由 匿名 于 2018-8-26 01:33 编辑

为什么这么一个问题没有人回答呢。。。。
可怕。。。匿

```
select *,IF(age>=15,1,0)+IF(sex='男',1,0)+IF(age>=15 AND sex='男',1,0) od
from od where sex='男' OR age>=15 order by od desc;
```

  1. +----+------+-----+-----+----+
  2. | id | name | age | sex | od |
  3. +----+------+-----+-----+----+
  4. |  1 | A    |  15 | 男  |  3 |
  5. |  4 | D    |  16 | 男  |  3 |
  6. |  5 | E    |  21 | 男  |  3 |
  7. |  2 | B    |  12 | 男  |  1 |
  8. |  6 | F    |  18 | 女  |  1 |
  9. +----+------+-----+-----+----+
复制代码
落伍网友
落伍网友  发表于 2018-8-26 01:27:03 来自 中国广东广州
卧草泥马 发表于 2018-8-24 15:59
多谢。

我一开始是这样考虑的,搜索2次,第一次搜索全部满足的,并 记录下全部ID

看16楼。

381

主题

4127

帖子

3250

积分

落伍者(两全齐美)

Rank: 2

贡献
393
鲜花
37
注册时间
2011-1-4

QQ绑定落伍手机绑定

发表于 2018-8-26 11:50:24 来自落伍手机版 | 来自 中国北京
本帖最后由 像花、一样美 于 2018-8-26 12:35 编辑

读错题意了

215

主题

3924

帖子

5533

积分

落伍者(三羊开泰)

Rank: 3Rank: 3

贡献
458
鲜花
47
注册时间
2007-3-29

QQ绑定落伍手机绑定

 楼主| 发表于 2018-8-26 13:07:58 | 来自 中国浙江杭州
匿名者 发表于 2018-8-26 01:25
为什么这么一个问题没有人回答呢。。。。
可怕。。。匿

高,谢谢
没站 ,签啥名

85

主题

4870

帖子

9655

积分

落伍者(三羊开泰)

Rank: 3Rank: 3

贡献
5683
鲜花
28
注册时间
2005-6-1

落伍手机绑定

发表于 2018-8-26 13:27:22 | 来自 中国内蒙古
SELECT * FROM `tablename` ORDER BY (CASE WHEN `年龄`>14 and `性别`='男' THEN 1 ELSE 2 END) ,`年龄` desc
论坛客服/商务合作/投诉举报:2171544 (QQ)
落伍者创建于2001/03/14,本站内容均为会员发表,并不代表落伍立场!
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!
落伍官方微信:2030286 邮箱:(djfsys@gmail.com|tech@im286.com)
© 2001-2014

浙公网安备 33060302000191号

浙ICP备11034705号 BBS专项电子公告通信管[2010]226号

  落伍法律顾问: ITlaw-庄毅雄

手机版|找回帐号|不能发帖?|Archiver|落伍者

GMT+8, 2024-4-26 23:54 , Processed in 0.105447 second(s), 27 queries , Gzip On.

返回顶部