MySQL按列和列值排序

Niraj Chauhan

我这里有一种情况,我要连接两个表来获取记录,其中一个表将键值对存储在两个不同的列(wordpress用户元表)中。

所以这是我的查询:

SELECT 
    um.user_id
FROM
    sl_job_applications as ja,
    sl_usermeta as um
WHERE
    um.user_id = ja.user_id
        AND ja.job_id = 3
        AND ja.STAGE = 'Application'
        AND ja.STATUS = 'In progress'
group by ja.user_id
order by case when (um.meta_key = 'CURRENT_TOTAL_EXPERIENCE') then -1 else 2 end,
         um.meta_value asc
LIMIT 0 , 50;

排序依据在这里不起作用,我的数据是

user_id             meta_key                       meta_value

3                   CURRENT_TOTAL_EXPERIENCE       6

4                   CURRENT_TOTAL_EXPERIENCE       2

5                   CURRENT_TOTAL_EXPERIENCE       1

6 

希望您了解我的表格数据,

我上面的查询返回6,4,5,3

但我期望这个输出:6,5,4,3

戈登·利诺夫

只需将更order by改为具有聚合函数,例如max()和值:

order by min(case when (um.meta_key = 'CURRENT_TOTAL_EXPERIENCE') then -1 else 2 end),
         min(case when (um.meta_key = 'CURRENT_TOTAL_EXPERIENCE') then um.meta_value end) asc
LIMIT 0 , 50;

第一个检查具有该值的meta_key是否存在。第二个提取值并进行排序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MySQL SELECT按2列的值排序

来自分类Dev

MySQL组块按列值排序,按其他列排序

来自分类Dev

数值按列值排序

来自分类Dev

MySQL-如何按列中的值对结果排序?

来自分类Dev

按索引和列排序

来自分类Dev

熊猫按条件按列值排序

来自分类Dev

按列的值对列进行排序

来自分类Dev

仅使用javaScript按日期和日期值desc按列对HTML中的表进行排序

来自分类Dev

按1列的值和另一列的颜色对动态范围的数据进行排序

来自分类Dev

按行号排序,其中列值相同

来自分类Dev

按某些特定的列值排序

来自分类Dev

按列中的nil值排序

来自分类Dev

获取按列值排序的SQL结果

来自分类Dev

按子查询列值排序

来自分类Dev

如何按列排序和打破平局

来自分类Dev

按2列和rand()排序

来自分类Dev

MySQL按或从句中的两列排序

来自分类Dev

MySQL按升序对两列排序

来自分类Dev

MYSQL按日期时间列的日期排序

来自分类Dev

PHP MySQL,按3列的排序结果

来自分类Dev

按列对MySQL数据库排序

来自分类Dev

mysql按两列以单数标准排序

来自分类Dev

MySQL按出现列数排序

来自分类Dev

同时按最大值和最小值排序时,哪一列优先?

来自分类Dev

按C列排序,但将F列中的值分组

来自分类Dev

Linq按列排序,带值的列优先

来自分类Dev

MySQL-检索按可变列系列的最大值排序的行

来自分类Dev

如何按联接表的行(而非列)中的值对mysql查询结果排序?

来自分类Dev

按2列中的字段值排序-MySQL-Delphi-dbgrid