我有这张桌子(简体):
创建表`my_table`(
`id` INT NOT NULL AUTO_INCREMENT,
`item_name` VARCHAR(45)NULL,
`price` DECIMAL(10,0)NULL,
主键(`id`))
我需要从表中选择所有项目,并按以下方式排序:
1.价格> 0.00首先的项目,按价格ASC排序
2.价格= 0.00最后的项目,按ID排序
我尝试了这个:
选择 *
来自my_table
在哪里1
订购
当价格0.00时的情况
ELSE ID
结束
ASC
我得到类似的结果
item_name | 价钱
---------- | -------
foo | 150,00
酒吧 0,00
baz | 500,00
嗡嗡声 0,00
我如何建立查询
item_name | 价钱
---------- | -------
foo | 150,00
baz | 500,00
酒吧 0,00
嗡嗡声 0,00
?
感谢您的时间
这将达到目的。
SELECT *
FROM my_table
WHERE 1
ORDER BY
CASE price WHEN 0 THEN 1
ELSE -1
END ASC, price asc, id asc
问题内容: 我有3个字段的“任务”表: 日期 优先级(0,1,2) 完成(0,1) 我想要实现的是对整个表按“完成”标志排序,未完成的任务应按优先级排序,而已完成的任务应按日期排序: 从按完成的asc的任务顺序中选择* 如果完成= 0,则按优先级依次排序 如果完成= 1,则另外按日期顺序排序 不使用工会就可以在MySQL中做到这一点吗? 谢谢。 问题答案: 您可以尝试在使用aux来计算aux时根据
问题内容: 我有下表: 我想要以下排序: 首先,所有带有的行。这些行必须以排序。 然后,其他所有行()。但是,这些行必须使用进行排序。 以下查询正确吗? 有一个更好的方法吗?请问保持行排序,因此只是连接两个内部查询的输出? 我不知道如何根据条件在中重复列。 问题答案: 可以使用来执行条件订单,如下所示:
问题内容: 我正在尝试将其编译。.我有一个带有firstname和lastname字段的表,并且我有一个字符串,例如“ Bob Jones”或“ Bob Michael Jones”等。 事实是,例如我姓鲍勃,姓迈克尔·琼斯 所以我想 但是它说未知列“ firstlast” ..有人可以帮助吗? 问题答案: 您提供的别名用于查询的输出-它们本身在查询中不可用。 您可以重复表达: 或包装查询
问题内容: 我有一个名为Gift的表,该表与一个名为ClickThrough的表具有一对多关系- 该表指示单击了该特定Gift的次数。我需要查询所有的Gift对象,按ClickThrough计数排序。我不需要返回ClickThrough计数,因为我不需要做任何事情,我只想将其用于订购即可。 我需要查询以直接返回Gift对象的列表,只是按ClickThrough计数排序。如何使用Criteria A
问题内容: 我正在对两个表进行联接。一个是用户表,另一个是高级用户列表。我需要让高级会员首先出现在我的查询中。但是,仅因为它们位于高级用户表中并不意味着它们仍然是高级成员- 还有一个IsActive字段也需要检查。 因此,基本上我需要按以下顺序返回结果: 活跃的高级用户 普通和不活跃的高级用户 现在我有以下内容: 问题在于,它会将非活跃高级会员置于非高级会员之上。 (我为此使用MS SQL Ser
问题内容: 通过创建这样的对象 并传递给 它可以像这样漂亮地生成SQL 但是,这都是“ AND”条件,如何通过创建条件对象来生成“ OR”条件? 问题答案: 似乎现在有另一种格式 会产生 参见文档:http : //docs.sequelizejs.com/en/latest/docs/querying/#where