mysql按特定的顺序,mysql-以特定顺序从数据库中获取数据

我有一个名为供应商的表,这是它的视图

id vendorname staffpick totalfav

1 V1 yes 1

2 V2 yes 3

3 V3 yes 4

4 V4 2

5 V5 5

6 D

7 A

我希望按以下顺序创建供应商列表(不重复供应商)

首先,应该选择人员选择价值为yes的那些供应商,并且这些人员选择供应商应按总收藏价值的降序排列.

然后那些应该有totalfav的供应商应该来,但是staffpick的价值不是.

最后一部分将显示那些既不是人员选择也不是totalfav的供应商,这些供应商应按字母顺序排列

清单应该是这样的

V3

V2

V1

V5

V4

A

D

如果我尝试为每个这样的部分创建一个数组,我会重复

$sql = "SELECT * FROM vendors where staffpick='yes' and favvendor!=''";

$result = mysql_query($sql);

$row = mysql_fetch_array($result)

谁能告诉我如何进行分类

解决方法:

试试这个

SELECT *

FROM vendors

ORDER BY staffpick ='YES' AND totalfav DESC,

staffpick IS NULL AND totalfav DESC,

staffpick IS NULL AND totalfav IS NULL AND vendorname ASC

标签:mysqli,sql,mysql,database

来源: https://codeday.me/bug/20191120/2041986.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值