坑爹要求,表某字段值排序!!!求帮助

kunsyliu 2012-09-06 04:52:30

/*
MySQL Data Transfer
Source Host: localhost
Source Database: easyorder
Target Host: localhost
Target Database: easyorder
Date: 2012-9-6 16:43:20
*/

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for discount_inf
-- ----------------------------
CREATE TABLE `discount_inf` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) NOT NULL,
`content` varchar(256) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3458 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records
-- ----------------------------
INSERT INTO `discount_inf` VALUES ('2134', 'kunsy', '菜品9.5折不开发票,酒水除外');
INSERT INTO `discount_inf` VALUES ('2345', '测试2', '现金优惠劵,满100抵10元代金劵或9折优惠(酒水除外)');
INSERT INTO `discount_inf` VALUES ('3453', '测试1', '菜品8.8折,其它均无折扣');
INSERT INTO `discount_inf` VALUES ('3455', '测试3', '开票菜品9.5折不开票菜品8.8折');
INSERT INTO `discount_inf` VALUES ('3456', 'anges', '不开发票,菜品9.5折');
INSERT INTO `discount_inf` VALUES ('3458', 'blueking', '现金优惠劵,满100抵10元代金劵');
INSERT INTO `discount_inf` VALUES ('3457', 'snowking', '进店消费中、西餐8.8折优惠。');


上面是表,要求对表中的content字段值安折扣排序!!!!没折扣的可以不显示在结果中,也可以在结果的最后面。

求给出完整的sql语句!!!!!可以适当的灵活,小误差也可以

小弟q:1004143305 拜托了,小弟刚毕业,感觉有点无能为力
...全文
122 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
kunsyliu 2012-09-08
  • 打赏
  • 举报
回复
我必须承认,这问题真他妈的蛋疼,当初设计数据库的,就一大傻x。

通过我两天的研究,问题是可以解决了,可是感觉根本没必要在这种问题上研究话时间,

整个项目数据库设计问题之多。又何止这一个,刚进公司还在试用期,没发言权啊,忍吧。
rucypli 2012-09-07
  • 打赏
  • 举报
回复
这绝对坑爹 没有折扣字段啊
  • 打赏
  • 举报
回复
ORDER BY REGEXP,
关键是语义拆分,判断词组“数字+折”。这不是坑爹,是在折腾服务器。

重新设计的数据库,加一个字段吧。
ASP,JSP,PHP,外部文件 正则取出 content 里的“数字+折”,然后重新update进新的字段。加一个index。
wwwwb 2012-09-07
  • 打赏
  • 举报
回复
将折扣提取出来才行
ACMAIN_CHM 2012-09-07
  • 打赏
  • 举报
回复
这个无法直接能MYSQL简单实现,需要进行语义分析。
Johnson 2012-09-07
  • 打赏
  • 举报
回复
这个是不是可以从业务上进行下修改?

可以考虑把折扣字段进行分拆,比如拆成:折扣类型、折扣条件、折扣、是否开发票等等
Rotel-刘志东 2012-09-07
  • 打赏
  • 举报
回复
通过变项的处理一下,这个问题还是不太好解决的。
小小小小周 2012-09-07
  • 打赏
  • 举报
回复
确实坑爹。。。
kunsyliu 2012-09-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

给你认为正确的排序结果以供参考
[/Quote]

'3457', 'snowking', '进店消费中、西餐8.8折优惠。
'3453', '测试1', '菜品8.8折,其它均无折扣
'3455', '测试3', '开票菜品9.5折不开票菜品8.8折'
'2345', '测试2', '现金优惠劵,满100抵10元代金劵或9折优惠(酒水除外)'
'3456', 'anges', '不开发票,菜品9.5折'

大概能有这样的结果就可以,主要是按折扣排序
ACMAIN_CHM 2012-09-06
  • 打赏
  • 举报
回复
给你认为正确的排序结果以供参考

57,062

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧